| No Señor. | Patrón y descripción |
|---|---|
| 1 | ^ Coincide con el comienzo de la línea. |
| 2 | $ Coincide con el final de la línea. |
| 3 | . Coincide con cualquier carácter individual excepto nueva línea. El uso de la opción m también le permite hacer coincidir la nueva línea. |
| 4 | [...] Coincide con cualquier carácter individual entre paréntesis. |
| 5 | [^...] Coincide con cualquier carácter individual que no esté entre corchetes |
| 6 | re* Coincide con 0 o más apariciones de la expresión anterior. |
| 7 | re+ Coincide con 1 o más ocurrencias de la expresión anterior. |
| 8 | re? Coincide con 0 o 1 aparición de la expresión anterior. |
| 9 | re{ n} Coincide exactamente con n número de apariciones de la expresión anterior. |
| 10 | re{ n,} Coincide con no más ocurrencias de la expresión anterior. |
| 11 | re{ n, m} Coincide con al menos n y como máximo m apariciones de la expresión anterior. |
| 12 | a| b Coincide con a o b. |
| 13 | (re) Agrupa expresiones regulares y recuerda texto coincidente. |
| 14 | (?imx) Alterna temporalmente entre las opciones i, m o x dentro de una expresión regular. Si está entre paréntesis, solo esa área se ve afectada. |
| 15 | (?-imx) Desactiva temporalmente las opciones i, m o x dentro de una expresión regular. Si está entre paréntesis, solo esa área se ve afectada. |
| dieciséis | (?: re) Agrupa expresiones regulares sin recordar el texto coincidente. |
| 17 | (?imx: re) Alterna temporalmente entre las opciones i, m o x entre paréntesis. |
| 18 | (?-imx: re) Desactiva temporalmente las opciones i, m o x entre paréntesis. |
| 19 | (?#...) Comentario. |
| 20 | (?= re) Especifica la posición mediante un patrón. No tiene rango. |
| 21 | (?! re) Especifica la posición mediante la negación del patrón. No tiene rango. |
| 22 | (?> re) Coincide con el patrón independiente sin retroceso. |
| 23 | \w Coincide con caracteres de palabras. |
| 24 | \W Coincide con caracteres que no son palabras. |
| 25 | \s Coincide con los espacios en blanco. Equivalente a [\ t \ n \ r \ f]. |
| 26 | \S Coincide con espacios que no son en blanco. |
| 27 | \d Coincide con dígitos. Equivalente a [0-9]. |
| 28 | \D Coincide con no dígitos. |
| 29 | \A Coincide con el comienzo de la cadena. |
| 30 | \Z Coincide con el final de la cuerda. Si existe una nueva línea, coincide justo antes de la nueva línea. |
| 31 | \z Coincide con el final de la cuerda. |
| 32 | \G Los partidos apuntan donde terminó el último partido. |
| 33 | \b Coincide con los límites de las palabras cuando están fuera de los corchetes. Coincide con el retroceso (0x08) cuando está entre corchetes. |
| 34 | \B Coincide con los límites que no son palabras. |
| 35 | \n, \t, etc. Coincide con nuevas líneas, retornos de carro, pestañas, etc. |
| 36 | \1...\9 Coincide con la enésima subexpresión agrupada. |
| 37 | \10 Coincide con la enésima subexpresión agrupada si ya coincidió. De lo contrario, se refiere a la representación octal de un código de carácter. |
| No Señor. | Ejemplo y descripción |
|---|---|
| 1 | /ruby/ Coincide con "ruby". |
| 2 | ¥ Coincide con el signo del Yen. Los caracteres multibyte son compatibles con Ruby 1.9 y Ruby 1.8. |
| No Señor. | Ejemplo y descripción |
|---|---|
| 1 | /[Rr]uby/ Coincide con "Ruby" o "ruby". |
| 2 | /rub[ye]/ Coincide con "ruby" o "rube". |
| 3 | /[aeiou]/ Coincide con cualquier vocal en minúscula. |
| 4 | /[0-9]/ Coincide con cualquier dígito; igual que / [0123456789] /. |
| 5 | /[a-z]/ Coincide con cualquier letra ASCII minúscula. |
| 6 | /[A-Z]/ Coincide con cualquier letra ASCII mayúscula. |
| 7 | /[a-zA-Z0-9]/ Coincide con cualquiera de los anteriores. |
| 8 | /[^aeiou]/ Coincide con cualquier otra cosa que no sea una vocal en minúscula. |
| 9 | /[^0-9]/ Coincide con cualquier cosa que no sea un dígito. |
| No Señor. | Ejemplo y descripción |
|---|---|
| 1 | /./ Coincide con cualquier carácter excepto nueva línea. |
| 2 | /./m En el modo multilínea, también coincide con la nueva línea. |
| 3 | /\d/ Coincide con un dígito: / [0-9] /. |
| 4 | /\D/ Coincide con un no dígito: / [^ 0-9] /. |
| 5 | /\s/ Coincide con un carácter de espacio en blanco: / [\ t \ r \ n \ f] /. |
| 6 | /\S/ Coincide con espacios que no son en blanco: / [^ \ t \ r \ n \ f] /. |
| 7 | /\w/ Coincide con un carácter de una sola palabra: / [A-Za-z0-9 _] /. |
| 8 | /\W/ Coincide con un carácter que no es una palabra: / [^ A-Za-z0-9 _] /. |
| No Señor. | Ejemplo y descripción |
|---|---|
| 1 | /ruby?/ Coincide con "rub" o "ruby": la y es opcional. |
| 2 | /ruby*/ Coincide con "frotar" más 0 o más ys. |
| 3 | /ruby+/ Coincide con "frotar" más 1 o más años. |
| 4 | /\d{3}/ Coincide exactamente con 3 dígitos. |
| 5 | /\d{3,}/ Coincide con 3 o más dígitos. |
| 6 | /\d{3,5}/ Coincide con 3, 4 o 5 dígitos. |
Esto coincide con el menor número de repeticiones:
| No Señor. | Ejemplo y descripción |
|---|---|
| 1 | /<.*>/ Repetición codiciosa: coincide con "<ruby> perl>". |
| 2 | /<.*?>/ No codicioso: coincide con "<ruby>" en "<ruby> perl>". |
| No Señor. | Ejemplo y descripción |
|---|---|
| 1 | /\D\d+/ Sin grupo: + repeticiones \ d |
| 2 | /(\D\d)+/ Agrupados: + repeticiones \ D \ d par |
| 3 | /([Rr]uby(, )?)+/ Coincide con "Ruby", "Ruby, ruby, ruby", etc. |
Esto vuelve a coincidir con un grupo previamente emparejado:
| No Señor. | Ejemplo y descripción |
|---|---|
| 1 | /([Rr])uby&\1ails/ Combina con ruby & rails o Ruby & Rails. |
| 2 | /(['"])(?:(?!\1).)*\1/ Cadena de comillas simples o dobles. \ 1 coincide con cualquier coincidencia del primer grupo. \ 2 coincide con lo que coincida con el segundo grupo, etc. |
| No Señor. | Ejemplo y descripción |
|---|---|
| 1 | /ruby|rube/ Coincide con "ruby" o "rube". |
| 2 | /rub(y|le))/ Coincide con "ruby" o "rublo". |
| 3 | /ruby(!+|\?)/ "ruby" seguido de uno o más! o uno ? |
Necesita especificar la posición de coincidencia.
| No Señor. | Ejemplo y descripción |
|---|---|
| 1 | /^Ruby/ Coincide con "Ruby" al comienzo de una cadena o línea interna. |
| 2 | /Ruby$/ Coincide con "Ruby" al final de una cadena o línea. |
| 3 | /\ARuby/ Coincide con "Ruby" al comienzo de una cadena. |
| 4 | /Ruby\Z/ Coincide con "Ruby" al final de una cadena. |
| 5 | /\bRuby\b/ Coincide con "Ruby" en el límite de una palabra. |
| 6 | /\brub\B/ \ B es un límite sin palabras: coincide con "rub" en "rube" y "ruby", pero no solo. |
| 7 | /Ruby(?=!)/ Coincide con "Ruby", si va seguido de un signo de exclamación. |
| 8 | /Ruby(?!!)/ Coincide con "Ruby", si no va seguido de un signo de exclamación. |
| No Señor. | Ejemplo y descripción |
|---|---|
| 1 | /R(?#comment)/ Coincide con "R". Todo lo demás es un comentario. |
| 2 | /R(?i)uby/ No distingue entre mayúsculas y minúsculas mientras coincide con "uby". |
| 3 | /R(?i:uby)/ Lo mismo que arriba. |
| 4 | /rub(?:y|le))/ Agrupar solo sin crear \ 1 referencia inversa. |