From 592a2b411a0445fbad11f1909a542653350c94aa Mon Sep 17 00:00:00 2001 From: Manuel Vergara Date: Fri, 25 Aug 2023 11:27:54 +0200 Subject: [PATCH] Add cheat sheet of regex to linux Signed-off-by: Manuel Vergara --- README.md | 13 +- attach/regex-linux.md | 393 ++++++++++++++++++++++++++++++++++++++++++ contributing.md | 22 --- 3 files changed, 398 insertions(+), 30 deletions(-) create mode 100644 attach/regex-linux.md delete mode 100644 contributing.md diff --git a/README.md b/README.md index 09333aa..f49a62b 100644 --- a/README.md +++ b/README.md @@ -15,13 +15,13 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [Git](#git) - [Markdown](#markdown) - [Python](#python) + - [Regex](#regex) - [Shell](#shell) - [SublimeText](#sublimetext) - [Tmux](#tmux) - [Vim](#vim) - [Visual Studio Code](#visual-studio-code) - [Complement](#complement) - - [Contribute](#contribute) - [License](#license) ## [Git](https://git-scm.com/) @@ -75,6 +75,10 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [Python & Pylab Cheat Sheet](http://www.physik.uzh.ch/lectures/informatik/python/res/pyrefcard.pdf) +## Regex + +- [Regex Linux](./attach/regex-linux.md) + ## Shell - [tldr](https://github.com/tldr-pages/tldr) : tldr is a collection of simplified and community-driven man pages. @@ -182,13 +186,6 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [Cheat-Sheets.org](http://www.cheat-sheets.org/) : All cheat sheets, round-ups, quick reference cards, quick reference guides and quick reference sheets in one page. - [CheatSheet App for Mac OS X](https://www.mediaatelier.com/CheatSheet/) : Just hold the ⌘-Key a bit longer to get a list of all active short cuts of the current application. It's as simple as that. - - -## Contribute - -Contributions welcome! Read the [contribution guidelines](contributing.md) first. - - ## License Creative Commons License
Awesome Cheat Sheets by Ted Lin is licensed under a Creative Commons Attribution 4.0 International License.
Based on a work at https://github.com/mintisan/awesome-cheat-sheets. diff --git a/attach/regex-linux.md b/attach/regex-linux.md new file mode 100644 index 0000000..00c6534 --- /dev/null +++ b/attach/regex-linux.md @@ -0,0 +1,393 @@ +## Cheat Sheet de Expresiones Regulares (Regex) para Linux + +Para una navegación sencilla, un índice de las secciones de la página: + +- [Caracteres](#chars) +- [Cuantificadores](#quantifiers) +- [Más Caracteres](#morechars) +- [Lógica](#logic) +- [Espacios en Blanco](#whitespace) +- [Más Cuantificadores](#morequants) +- [Clases de Caracteres](#classes) +- [Anclajes y Límites](#anchors) +- [Clases POSIX](#posix) +- [Modificadores en Línea](#modifiers) +- [Lookaheads y Lookbehinds](#lookarounds) +- [Operaciones con Clases de Caracteres](#classoperations) +- [Otra Sintaxis](#other) + + +## Caracteres + +| Carácter | Leyenda | Ejemplo | Coincidencia de Ejemplo | +| -------- | -------------------------------------------------------------------------------------------------------------------------------------- | ------------ | ----------------------- | +| `\d` | La mayoría de los motores: un dígito del 0 al 9 | `file_\d\d` | `file_25` | +| `\w` | La mayoría de los motores: "carácter de palabra": letra ASCII, dígito o guión bajo | `\w-\w\w\w` | `A-b_1` | +| `\s` | La mayoría de los motores: "carácter de espacio en blanco": espacio, tabulación, salto de línea, retorno de carro, tabulación vertical | `a\sb\sc` | `a b c` | +| `\D` | Un carácter que no es un dígito según el `\d` del motor | `\D\D\D` | `ABC` | +| `\W` | Un carácter que no es un carácter de palabra según el `\w` del motor | `\W\W\W\W\W` | `*-+=)` | +| `\S` | Un carácter que no es un carácter de espacio en blanco según el `\s` del motor | `\S\S\S\S` | `Yoyo` | + + +## Cuantificadores + +| Cuantificador | Leyenda | Ejemplo | Coincidencia de Ejemplo | +| ------------- | ---------------------- | ---------------- | ----------------------- | +| `+` | Una o más veces | `Versión \w-\w+` | `Versión A-b1_1` | +| `{3}` | Exactamente tres veces | `\D{3}` | `ABC` | +| `{2,4}` | De dos a cuatro veces | `\d{2,4}` | `156` | +| `{3,}` | Tres o más veces | `\w{3,}` | `tutorial_de_regex` | +| `*` | Cero o más veces | `A*B*C*` | `AAACC` | +| `?` | Una vez o ninguna | `plurales?` | `plural` | + + +## Más Caracteres + +| Carácter | Leyenda | Ejemplo | Coincidencia de Ejemplo | +| -------- | ---------------------------------------------------- | ----------------------- | ----------------------- | +| `.` | Cualquier carácter excepto salto de línea | `a.c` | `abc` | +| `\.` | Un punto (carácter especial: debe escaparse con `\`) | `a\.c` | `a.c` | +| `\\` | Escapa un carácter especial | `\\.*\\+\\?\\$^\\/\\\\` | `.*+?$^/\\` | +| `[...]` | Uno de los caracteres entre corchetes | `[AEIOU]` | Una vocal mayúscula | +| `[^...]` | Uno de los caracteres que no está en los corchetes | `[^a-z]{3}` | `A1!` | + + +## Lógica + +| Lógica | Leyenda | Ejemplo | Coincidencia de Ejemplo | +| --------- | ------------------------- | ------------------------------- | ------------------------ | +| `\|` | Alternancia / Operador OR | `22\|33` | `33` | +| `( … )` | Grupo de captura | `A(nt\|pple)` | `Apple` (captura "pple") | +| `\\1` | Contenido del Grupo 1 | `r(\\w)g\\1x` | `regex` | +| `\\2` | Contenido del Grupo 2 | `(\\d\\d)\\+(\\d\\d)=\\2\\+\\1` | `12+65=65+12` | +| `(?: … )` | Grupo no capturador | `A(?:nt\|pple)` | `Apple` | + + +## Más Espacios en Blanco + +| Carácter | Leyenda | Ejemplo | Coincidencia de Ejemplo | +| -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ | ----------------------- | +| `\t` | Tabulación | `T\\t\\w{2}` | `T ab` | +| `\r` | Carácter de retorno de carro | Ver abajo | | +| `\n` | Carácter de salto de línea | Ver abajo | | +| `\r\n` | Separador de línea en Windows | `AB\\r\\nCD` | `AB
CD` | +| `\N` | Perl, PCRE (C, PHP, R…): un carácter que no es un salto de línea | `\\N+` | `ABC` | +| `\h` | Perl, PCRE (C, PHP, R…), Java: un carácter de espacio horizontal: tabulación o separador de espacio Unicode | | | +| `\H` | Un carácter que no es un espacio horizontal | | | +| `\v` | .NET, JavaScript, Python, Ruby: tabulación vertical | | | +| `\v` | Perl, PCRE (C, PHP, R…), Java: un carácter de espacio vertical: salto de línea, retorno de carro, tabulación vertical, avance de página, separador de párrafo o línea | | | +| `\V` | Perl, PCRE (C, PHP, R…), Java: cualquier carácter que no sea un espacio vertical | | | +| `\R` | Perl, PCRE (C, PHP, R…), Java: un salto de línea (par de retorno de carro + salto de línea, y todos los caracteres coincidentes con \v) | | | + + +## Más Cuantificadores + +| Cuantificador | Leyenda | Ejemplo | Coincidencia de Ejemplo | +| ------------- | --------------------------------------------- | ----------- | ----------------------- | +| `+` | Una o más veces | `\\d+` | `12345` | +| `?` | Hace que los cuantificadores sean "perezosos" | `\\d+?` | `1` en `12345` | +| `*` | Cero o más veces | `A*` | `AAA` | +| `?` | Hace que los cuantificadores sean "perezosos" | `A*?` | Vacío en `AAA` | +| `{2,4}` | De dos a cuatro veces | `\\w{2,4}` | `abcd` | +| `?` | Hace que los cuantificadores sean "perezosos" | `\\w{2,4}?` | `ab` en `abcd` | + + +## Clases de Caracteres + +| Carácter | Leyenda | Ejemplo | Coincidencia de Ejemplo | +| -------- | ------------------------------------------------------------------------------------- | ---------------- | -------------------------------------------------------------------------------- | +| `[ … ]` | Uno de los caracteres entre corchetes | `[AEIOU]` | Una vocal mayúscula | +| `[ … ]` | Uno de los caracteres entre corchetes | `T[ao]p` | `Tap` o `Top` | +| `-` | Indicador de rango | `[a-z]` | Una letra minúscula | +| `[x-y]` | Uno de los caracteres en el rango de x a y | `[A-Z]+` | `GREAT` | +| `[ … ]` | Uno de los caracteres entre corchetes | `[AB1-5w-z]` | Uno de: A, B, 1, 2, 3, 4, 5, w, x, y, z | +| `[x-y]` | Uno de los caracteres en el rango de x a y | `[ -~]+` | Caracteres en la sección imprimible de la tabla ASCII | +| `[^x]` | Un carácter que no es x | `[^a-z]{3}` | `A1!` | +| `[^x-y]` | Uno de los caracteres que no está en el rango de x a y | `[^ -~]+` | Caracteres que no están en la sección imprimible de la tabla ASCII | +| `[\d\D]` | Un carácter que es un dígito o no es un dígito | `[\d\D]+` | Cualquier carácter, incluyendo saltos de línea, que el punto regular no coincide | +| `[\x41]` | Coincide con el carácter en la posición hexadecimal 41 en la tabla ASCII, es decir, A | `[\x41-\x45]{3}` | `ABE` | + + +## Anclajes y Límites + +| Anclaje | Leyenda | Ejemplo | Coincidencia de Ejemplo | +| ------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------- | ---------------------------------- | +| `^` | inicio de línea según el modo multilinea. (Pero cuando [^dentro de corchetes], significa "no") | `^abc .*` | `abc` (inicio de línea) | +| `$` | final de línea según el modo multilinea. Muchas sutilezas dependientes del motor. | `.*? el fin$` | `este es el fin` | +| `\A` | Inicio de cadena (todos los motores principales excepto JS) | `\Aabc[\d\D]*` | `abc` (inicio de cadena) | +| `\z` | Fin de cadena muy al final de la cadena. No disponible en Python y JS | `el fin\z` | `esto es...
...el fin` | +| `\Z` | Final de cadena o (excepto Python) antes del salto de línea final. No disponible en JS | `el fin\Z` | `esto es...
...el fin\n` | +| `\G` | Inicio de Cadena o Final de Coincidencia Anterior
.NET, Java, PCRE (C, PHP, R…), Perl, Ruby | | | +| `\b` | Límite de palabra La mayoría de los motores: posición en la que solo un lado es una letra ASCII, un dígito o un guión bajo | `Bob.*\bcat\b` | `Bob comió al gato` | +| `\b` | Límite de palabra .NET, Java, Python 3, Ruby: posición en la que solo un lado es una letra Unicode, un dígito o un guión bajo | `Bob.*\b\кошка\b` | `Bob comió al кошка` | +| `\B` | No es un límite de palabra | `c.*\Bcat\B.*` | `imitadores` | + + +## Clases POSIX + +| Carácter | Leyenda | Ejemplo | Coincidencia de Ejemplo | +| ----------- | --------------------------------------------------- | ----------------- | ----------------------- | +| `[:alpha:]` | PCRE (C, PHP, R…): letras ASCII A-Z y a-z | `[8[:alpha:]]+` | `BienHecho88` | +| `[:alpha:]` | Ruby 2: letra Unicode o ideograma | `[:alpha:]\d]+` | `кошка99` | +| `[:alnum:]` | PCRE (C, PHP, R…): dígitos y letras ASCII A-Z y a-z | `[[:alnum:]]{10}` | `ABCDE12345` | +| `[:alnum:]` | Ruby 2: dígito, letra o ideograma Unicode | `[[:alnum:]]{10}` | `кошка90210` | +| `[:punct:]` | PCRE (C, PHP, R…): signo de puntuación ASCII | `[[:punct:]]+` | `?!.,:;` | +| `[:punct:]` | Ruby: signo de puntuación Unicode | `[[:punct:]]+` | `‽,:〽⁆` | + + +## Modificadores en Línea + +Ninguno de estos es compatible con JavaScript. En Ruby, ten cuidado con (?s) y (?m). + +| Modificador | Leyenda | Ejemplo | Coincidencia de Ejemplo | +| ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------- | ----------------------- | +| `(?i)` | Modo insensible a mayúsculas y minúsculas
(excepto JavaScript) | `(?i)Lunes` | `lunES` | +| `(?s)` | Modo DOTALL (excepto JS y Ruby). El punto (.) coincide con caracteres de nueva línea (\r\n). También conocido como "modo de línea única" porque el punto trata la entrada completa como una sola línea | `(?s)Desde A.*hasta Z` | `Desde A
hasta Z` | +| `(?m)` | Modo multilinea (excepto Ruby y JS) ^ y $ coinciden al principio y al final de cada línea | `(?m)1\r\n^2$\r\n^3$` | `1
2
3` | +| `(?m)` | En Ruby: lo mismo que (?s) en otros motores, es decir, modo DOTALL, es decir, el punto coincide con saltos de línea | `(?m)Desde A.*hasta Z` | `Desde A
hasta Z` | +| `(?x)` | Modo de espaciado libre (excepto JavaScript). También conocido como modo de comentario o modo de espacio en blanco | `(?x) # este es un
# comentario
abc # escribir en varias
# líneas
[ ]d # los espacios deben estar
# en corchetes` | `abc d` | +| `(?n)` | .NET, PCRE 10.30+: solo captura con nombre | Convierte todos los (paréntesis) en grupos de no captura. Para capturar, usa grupos con nombre. | | +| `(?d)` | Java: solo saltos de línea de Unix | El punto y los anclajes ^ y $ solo se ven afectados por \n | | +| `(?^)` | PCRE 10.32+: desactiva modificadores | Desactiva los modificadores ismnx | | + + +## Búsquedas Adelante y Atrás + +| Búsqueda | Leyenda | Ejemplo | Coincidencia de Ejemplo | +| -------- | -------------------------- | ------------------- | ---------------------------- | +| `(?=…)` | Búsqueda positiva adelante | `(?=\d{10})\d{5}` | `01234` en 0123456789 | +| `(?<=…)` | Búsqueda positiva atrás | `(?<=\d)gato` | `gato` en 1gato | +| `(?!…)` | Búsqueda negativa adelante | `(?!teatro)el\w+` | `tema` | +| `(?\d)\s+(?\d)` | `2` en `1 2 3` | + + +## Grupos Condicionales + +| Grupo Condicional | Leyenda | Ejemplo | Coincidencia de Ejemplo | +| ----------------- | ------- | ------------------------------------------------------------------------------------------------------- | ----------------------- | +| `(?(?=…) | )` | Si la expresión adelante coincide, entonces coincide con el grupo vacío. De lo contrario, no hace nada. | `(?(?=1)\d | -)` | `1` | +| `(?(1)a | b)` | Si el grupo 1 coincide, coincide con "a". De lo contrario, coincide con "b". | `(\d)(?(1)\d | -)` | `12-` | + + +## Comprobación de Cadenas + +| Comprobación de Cadena | Leyenda | Ejemplo | Coincidencia de Ejemplo | +| ---------------------- | ------- | ------------------------------------------------------------------- | ----------------------- | +| `(?(1)a | b)` | Si 1 coincide, coincide con "a". De lo contrario, coincide con "b". | `(?(\d)\d | -)` | `12-` | + + +## Modificadores en Línea + +Estos solo son compatibles con Perl. Los modos x, d, s y m afectan a toda la expresión. Los modos i y U solo afectan a las partes específicas. Si se combinan, aparece la nube de puntos. + +| Modificador | Leyenda | Ejemplo | Coincidencia de Ejemplo | +| ------------ | ---------------------------- | ---------------------- | ----------------------- | +| (?imsx-imsx) | Activa y desactiva los modos | (?i)hola(?-i) hola(?i) | hola hola | + + +## Átomos Predefinidos + +| Átomo Predefinido | Leyenda | Ejemplo | Coincidencia de Ejemplo | +| ------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------- | ----------------------- | +| `.` | Coincide con cualquier carácter excepto un salto de línea. Si se activa el modo /s, también coincide con saltos de línea | `(?s)` | `hola\nmundo` | +| `\w` | Coincide con una letra ASCII, un dígito o un guión bajo (equivale a [a-zA-Z0-9_]) | `\w{5}` | `alpha` | +| `\W` | Coincide con cualquier carácter que no sea una letra ASCII, un dígito o un guión bajo (equivale a [^a-zA-Z0-9_]) | `\W{5}` | `!@#$%` | +| `\s` | Coincide con un espacio en blanco (espacio, tabulación, salto de línea, retorno de carro, avance de página, espacio de línea, espacio en blanco sin separar, espacio ideográfico) | `\s\s` | ` ` | +| `\S` | Coincide con cualquier carácter que no sea un espacio en blanco | `\S\S` | `12` | +| `\d` | Coincide con un dígito (equivale a [0-9]) | `\d{3}` | `123` | +| `\D` | Coincide con cualquier carácter que no sea un dígito | `\D{3}` | `abc` | +| `\b` | Coincide con un límite de palabra | `\bcat\b` | `el gato` | +| `\B` | Coincide con cualquier posición que no sea un límite de palabra | `\Bcat\B` | `imitadores` | +| `(?i)` | Modo insensible a mayúsculas y minúsculas | `(?i)ABC` | `abc` | +| `(?s)` | Modo DOTALL. El punto (.) coincide con cualquier carácter, incluido un salto de línea (\n) | `(?s)a.b` | `a\nb` | +| `(?m)` | Modo multilinea. ^ y $ coinciden con el inicio y el final de cada línea | `(?m)^abc$` | `abc` en `abc
def` | +| `(?x)` | Modo de espaciado libre. Ignora los espacios en blanco y los comentarios | `(?x) ab c` | `abc` | +| `(?n)` | Solo captura con nombre | `(?(?=d)d | D)` | `d` | +| `(?^)` | Desactiva los modificadores | `(?i)(?^i)abc` | `abc` | +| `(?=…)` | Búsqueda positiva adelante | `a(?=b)` | `a` en `ab` | +| `(?<=…)` | Búsqueda positiva atrás | `(?<=a)b` | `b` en `ab` | +| `(?!…)` | Búsqueda negativa adelante | `a(?!b)` | `a` en `ac` | +| `(?\d)\s+(?\d)` | `2` en `1 2 3` | + + +## Ejemplos de Búsqueda + +| Ejemplo de Búsqueda | Leyenda | Ejemplo | Coincidencia de Ejemplo | +| ------------------------- | -------------------------------------------------------------- | ----------------------------- | -------------------------------------------------------------------- | +| `[A-Za-z]` | Cualquier letra en mayúscula o minúscula | `[A-Za-z]` | `A` en `Apple` | +| `\d{3}` | Tres dígitos | `\d{3}` | `123` en `12345` | +| `(gato | perro)` | Coincide con "gato" o "perro" | `(gato | perro)` | `gato` en `gato y perro` | +| `^Inicio` | Coincide con "Inicio" al principio de la cadena o de una línea | `^Inicio` | `Inicio` en `Inicio del día` | +| `Final$` | Coincide con "Final" al final de la cadena o de una línea | `Final$` | `Final` en `El Final` | +| `.*` | Cualquier carácter 0 o más veces | `.*` | `Hola Mundo!` | +| `\b\w+\b` | Cualquier palabra completa | `\b\w+\b` | `Hola` en `Hola Mundo!` | +| `(?>patrón)` | Patron no capturado | `(?>patrón)` | Coincidencia completa | +| `(?=adelante)` | Búsqueda positiva adelante | `(?=adelante)` | Coincide en la posición antes de "adelante" | +| `(?<=atrás)` | Búsqueda positiva atrás | `(?<=atrás)` | Coincide en la posición después de "atrás" | +| `(?!no adelante)` | Búsqueda negativa adelante | `(?!no adelante)` | Coincide en cualquier posición que no esté seguida por "no adelante" | +| `(?`def` en `abc`
`def` | +| `(?m)^Inicio` | Coincide con "Inicio" al principio de una línea | `(?m)^Inicio` | `Inicio` en `Inicio del día` | +| `(?x) hola mundo ` | Ignora espacios en blanco y comentarios | `(?x) hola mundo ` | `holamundo` | +| `(?(?=condición)verdadero | falso)` | Grupos condicionales | `(?(?=1)d | D)` | `d` | +| `(?(1)a | b)` | Grupos condicionales | `(a)(?(1)b | c)` | `b` | +| `(?(\d)\d | -)` | Comprobación de cadena | `(?(\d)\d | -)` | `1` | +| `\p{Lu}` | Coincide con una letra en mayúsculas Unicode | `\p{Lu}` | `Á` en `Ábaco` | +| `\p{IsGreek}` | Coincide con un carácter en el bloque Unicode "Greek" | `\p{IsGreek}` | `α` en `αΒΓ` | +| `\p{Latin}` | Coincide con un carácter en el script Unicode "Latin" | `\p{Latin}` | `a` en `abcde` | +| `\p{InGreek}` | Coincide con un carácter en el bloque Unicode "Greek" | `\p{InGreek}` | `Δ` en `ΔΕΛΤΑ` | +| `\p{IsBasicLatin}` | Coincide con un carácter en el bloque Unicode "Basic Latin" | `\p{IsBasicLatin}` | `a` en `Ⅲ` | +| `\.` | Coincide con un punto literal | `\.` | `.` en `www.example.com` | +| `\w{4}` | Cuatro caracteres de palabra | `\w{4}` | `jump` en `jump over` | +| `\W{3}` | Tres caracteres que no son de palabra | `\W{3}` | `@#$` en `@#$%!` | +| `\s\s` | Dos espacios en blanco | `\s\s` | ` ` en `Hello World` | +| `\S\S` | Dos caracteres que no son espacios en blanco | `\S\S` | `He` en `Hello World` | +| `\d{2,4}` | Dos a cuatro dígitos | `\d{2,4}` | `123` en `12345` | +| `a*` | Cero o más "a" | `a*` | `aaa` en `aaabbb` | +| `b+` | Una o más "b" | `b+` | `bbb` en `aaabbb` | +| `c?` | Cero o un "c" | `c?` | `c` en `abc` | +| `(a | b)` | "a" o "b" | `(a | b)` | `a` en `abc` | +| `(a | b | c)` | "a", "b" o "c" | `(a | b | c)` | `b` en `abc` | +| `(abc)+` | "abc" una o más veces | `(abc)+` | `abcabc` en `abcabcabc` | +| `[aeiou]` | Cualquier vocal | `[aeiou]` | `e` en `hello` | +| `[A-Za-z]` | Cualquier letra en mayúscula o minúscula | `[A-Za-z]` | `H` en `Hello` | +| `[^0-9]` | Cualquier carácter que no sea un dígito | `[^0-9]` | `H` en `H3llo` | +| `(?!no)` | Búsqueda negativa adelante | `(?!no)` | `ha` en `hasta` | +| `(?<=pre)` | Búsqueda positiva atrás | `(?<=pre)` | `post` en `prepost` | +| `(?i)abc` | Coincide de manera insensible a mayúsculas y minúsculas | `(?i)abc` | `ABC` o `abc` | +| `(?s)h.b` | El punto coincide con saltos de línea | `(?s)h.b` | `h\nb` en `h\nb` | +| `(?x) hola mundo ` | Ignora espacios en blanco y comentarios | `(?x) hola mundo ` | `holamundo` | +| `(?(\d)\d | -)` | Comprobación de cadena | `(?(\d)\d | -)` | `1` | +| `(?<=antes)b` | Búsqueda positiva atrás | `(?<=antes)b` | `b` en `antesb` | +| `\b\w+\b` | Palabra completa | `\b\w+\b` | `Hola` en `¡Hola Mundo!` | +| `\B!\B` | Posición que no es un límite de palabra | `\B!\B` | `!` en `Hola!Mundo` | +| `(?i)(?^i)abc` | Desactiva modificadores | `(?i)(?^i)abc` | `abc` en `ABC` | +| `(?i)mayusculas` | Coincide de manera insensible a mayúsculas y minúsculas | `(?i)mayusculas` | `MAYUSCULAS` o `mayusculas` | +| `(?s)abc.def` | El punto coincide con saltos de línea | `(?s)abc.def` | `abc`
`def` en `abc`
`def` | +| `(?m)^Inicio` | Coincide con "Inicio" al principio de una línea | `(?m)^Inicio` | `Inicio` en `Inicio del día` | +| `(?x) hola mundo ` | Ignora espacios en blanco y comentarios | `(?x) hola mundo ` | `holamundo` | +| `(?(?=condición)verdadero | falso)` | Grupos condicionales | `(?(?=1)d | D)` | `d` | +| `(?(1)a | b)` | Grupos condicionales | `(a)(?(1)b | c)` | `b` | +| `(?(\d)\d | -)` | Comprobación de cadena | `(?(\d)\d | -)` | `1` | +| `\p{Lu}` | Letra en mayúsculas Unicode | `\p{Lu}` | `Á` en `Ábaco` | +| `\p{IsGreek}` | Bloque Unicode | `\p{IsGreek}` | `α` en `αΒΓ` | +| `\p{Latin}` | Carácter en el script Unicode "Latin" | `\p{Latin}` | `a` en `abcde` | +| `\p{InGreek}` | Carácter en el bloque Unicode "Greek" | `\p{InGreek}` | `Δ` en `ΔΕΛΤΑ` | +| `\p{IsBasicLatin}` | Carácter en el bloque Unicode "Basic Latin" | `\p{IsBasicLatin}` | `a` en `Ⅲ` | diff --git a/contributing.md b/contributing.md deleted file mode 100644 index 89a4294..0000000 --- a/contributing.md +++ /dev/null @@ -1,22 +0,0 @@ -# Contribution Guidelines - -Please ensure your pull request adheres to the following guidelines: - -- Search previous suggestions before making a new one, as yours may be a duplicate. -- Suggested packages should be tested and documented. -- Make an individual pull request for each suggestion. -- Use the following format: `[package](link) - Description.` -- Additions should be added to the bottom of the relevant category. -- New categories, or improvements to the existing categorization are welcome. -- Link to the GitHub repo, or personal-weblog. -- Keep descriptions short and simple, but descriptive. -- Start the description with a capital and end with a full stop/period. -- Check your spelling and grammar. -- Make sure your text editor is set to remove trailing whitespace. -- The pull request should have a useful title and include a link to the package and why it should be included. - -Thank you for your suggestions! - -### Updating your PR - -A lot of times, making a PR adhere to the standards above can be difficult. If the maintainers notice anything that we'd like changed, we'll ask you to edit your PR before we merge it. If you're not sure how to do that, [here is a guide](https://github.com/RichardLitt/docs/blob/master/amending-a-commit-guide.md) on the different ways you can update your PR so that we can merge it.