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.
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:
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 |
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 |
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-## |
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> |
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 |
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- |
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? |
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 |
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- - |