Expresiones regulares

¿Qué son las expresiones regulares?

Las expresiones regulares proporcionan un medio para identificar cadenas de texto como caracteres, palabras o patrones de caracteres específicos.  Algunos de los usos más comunes de Model Review son el cumplimiento de convenciones de nomenclatura o la ordenación mediante anotaciones en el modelo de proyecto para proporcionar información específica.

Caracteres especiales

Las expresiones regulares utilizan caracteres especiales para ofrecer mayor flexibilidad para la definición de correspondencias. Los "caracteres especiales" son:

+ * ? . [ ] ^ ( ) | \

En las secciones siguientes se describe cómo utilizar cada uno de los caracteres especiales:

Punto

Un punto (".") coincidirá con un carácter cualquiera (solo uno).

Expresión

Significado

Coincidencia

No coincidencia

390-.

Cadena "390-" seguida de cualquier carácter.

390-A, 390-1, 390--

390-A1, 1390-1

Revision . Libre

Cadena "REVISION " seguida de cualquier carácter y luego la cadena " Released"

Revision A Released

Revision 1 Released

Revision # Released

Revision A1 Released

RevisionAReleased

Corchetes

Los corchetes ("[ ]") definen una clase de carácter, que establece una correspondencia entre cualquier carácter único y los caracteres dentro de los corchetes. Dentro de los corchetes, todos los caracteres especiales pierden su significado, excepto "^", que utilizado como primer carácter dentro de los corchetes indica que NO se obtengan los caracteres especificados.

Asimismo, es posible utilizar rangos dentro de los corchetes.

Expresión

Significado

Coincidencia

No coincidencia

[akm]

Un solo carácter: a, k o bien m.

A, K, M

Akm, ak, G

[a-z]

Cualquier letra

A, b, c, d

1, 2, -, #

[^akm]

Cualquier carácter que NO sea a, k ni m.

C, f, G,

Am (porque son dos caracteres)

A, k, m

[0-9]

Cualquier número

0, 4, 7

A, #, z

[a-z][a-z]

Dos letras cualesquiera

AB, BC, DE

A (cualquier letra única)

A1

12

Asterisco

El asterisco ("*") se coloca detrás de una expresión e indica que dicha expresión puede ocurrir cero o más veces.

Expresión

Significado

Coincidencia

No coincidencia

Ab*c

"A" seguida de cero o más "b", con una "C" al final.

Ac

Abc

Abbbbbbbc

Bbb

Abcd

[a-z]*

Cualquier cantidad de letras (equivale únicamente a letras, pero esto también incluye cero letras)

A

Bob

AAAAA

Acero

<Vacío> (porque * puede indicar cero coincidencias)

STEEL230

12

AA-##

Signo más

El signo más ("+") se coloca detrás de una expresión e indica que dicha expresión puede producirse una o más veces.

Expresión

Significado

Coincidencia

No coincidencia

Ab+c

"A" seguida de una "b" o varias, con una "C" al final.

Abc

Abbbbbbbc

Ac

Bbb

Abcd

[a-z]+

Cualquier cantidad de letras (equivale a sólo letras)

Bob

AAAAA

Acero

STEEL230

12

AA-##

<vacío>

Signo de interrogación

Un signo de interrogación ("?") detrás de una expresión indica que dicha expresión es opcional.

Expresión

Significado

Coincidencia

No coincidencia

Ab?c

"A" seguida de una "b" opcional con una "C" al final.

Ac

Abc

Abbc

Abcd

390-[a-z][a-z]?

"390-" seguido de una letra y una segunda letra opcional.

390-A

390-AB

390-11

390-

390-ABC

Pleca

El carácter de pleca ("|") funciona como OR entre dos expresiones (normalmente entre paréntesis).

Expresión

Significado

Coincidencia

No coincidencia

(390|241)-[a-z]+

"390" o "241" seguido de "-" y una o más letras.

390-A

241-A

241-AB

200-A

241

241-

As per (MS2377|CS123)

"As per " seguido de "MS2377" o "CS123"

As per MS2377

As per CS123

As per

As per MS3222

 

390-([abc]|[123])

"390-" seguido de "a", "b" o "c" OR "1", "2" o "3".

390-A

390-3

390-F

390-

Barra inversa para obtener caracteres especiales

Si necesita buscar la coincidencia con un carácter especial, una barra inversa delante de dicho carácter especial indica a Model Review que la coincidencia para dicho carácter debe ser literal (es decir, que el carácter no se utilizará como carácter especial).

Expresión

Significado

Coincidencia

No coincidencia

[0-9]\+

Un número seguido de un "+".

1+

2+

1

A

1+1

What\?

"What" seguido de un signo de interrogación.

What?

What's Up?

Barra inversa para empezar o terminar con un valor

En Model Review son habituales los procesos en que las coincidencias deben "empezar con" o "terminar con" un valor específico. Esta sintaxis es otra forma de buscar expresiones regulares de estilo. Se recomienda usar ".*" o ".+" delante o detrás de la expresión para indicar que los elementos coincidentes deben empezar con/acabar con dicha expresión.

Expresión

Significado

Coincidencia

No coincidencia

390-.*

Empieza con "390-" (termina con cualquier carácter; esto incluye ningún carácter).

390-1

390-111

1390-1

390-.+

Empieza con "390-" (termina con cualquier carácter, pero debe ser como mínimo uno).

390-1

390-111

1390-1

390-

.*-[a-z]

Termina con "-" y una letra (empieza con cualquier carácter, incluido ninguno).

Revision-A

Rev-A

-A

Revision-A1

Rev-1

123

-1

.+-[a-z]

Empieza con "-" y una letra (empieza con cualquier carácter, pero debe ser como mínimo uno).

Revision-A

Rev-A

Revsion-A1

Rev-1

123

-1

-A

Expresiones combinadas

Las expresiones regulares son una herramienta útil (aunque algo compleja) para obtener correspondencias de texto. Para satisfacer unos requisitos de búsqueda más complejos, deberá dominar la combinación de varias expresiones para crear una expresión avanzada.

Algunos ejemplos de expresiones complejas podrían ser:

Expresión

Significado

Coincidencia

No coincidencia

[0-9]+[-]?[0-9]+

Números con un guión opcional en medio.

123-45

12345

12A32

1232-A

A

.*[^_]

No puede terminar con una subraya (_).

123324

PART1

12343_

(390|231)-[a-z0-9]+-[0-9]+

390 o 231, seguido de "-", una sección alfanumérica de como mínimo un carácter y luego "-" y como mínimo un número.

390-mypart-1

231-bracket-99

120-mypart-1

380- -