Wyrażenia regularne umożliwiają identyfikację łańcuchów tekstu, na przykład określonych znaków, słów lub wzorców znaków. W narzędziu Model Review są one najczęściej wykorzystywane do przestrzegania konwencji nazewnictwa lub do przeglądania opisów w modelu projektu w przypadku szczególnych informacji.
W wyrażeniach regularnych wykorzystywane są znaki specjalne zapewniające większą elastyczność w definiowaniu dopasowań. „Znaki specjalne” to:
+ * ? . [ ] ^ ( ) | \
W następujących sekcjach opisano sposób użycia każdego ze znaków specjalnych:
Kropka (.) zostanie dopasowana do każdego pojedynczego znaku.
Wyrażenie |
Znaczenie |
Pasuje |
Nie pasuje |
390-. |
Pasuje do ciągu „390-”, po którym następuje dowolny znak. |
390-A, 390-1, 390-- |
390-A1, 1390-1 |
Wersja . Swobodny |
Pasuje do ciągu „WERSJA”, po którym następuje dowolny znak, a następnie ciąg „Data wydania” |
Wersja A Data wydania Wersja 1 Data wydania Wersja # Data wydania |
Wersja A1 Data wydania WersjaAData wydania |
Nawiasy kwadratowe („[ ]”) definiują klasę znaków, która dopasowuje dowolny pojedynczy znak do znaków w nawiasach. Wewnątrz nawiasów tracą swoje znaczenie wszystkie znaki specjalne z wyjątkiem znaku „^”, który, gdy zostanie użyty jako pierwszy znak w nawiasach, oznacza, że określone znaki NIE mają być dopasowane.
Wewnątrz nawiasów kwadratowych można także używać zakresów.
Wyrażenie |
Znaczenie |
Pasuje |
Nie pasuje |
[akm] |
Jeden znak: a, k lub m. |
A, K, M |
Akm, ak, G |
[a-z] |
Dowolna litera |
A, b, c, d |
1, 2, -, # |
[^akm] |
Jeden znak, pod warunkiem, że NIE jest to a, k ani m. |
C, f, G, Am (ponieważ są to dwa znaki) |
A, k, m |
[0-9] |
Dowolna cyfra |
0, 4, 7 |
A, #, z |
[a-z][a-z] |
Dowolne dwie litery |
AB, BC, DE |
A (tylko jedna litera) A1 12 |
Gwiazdka („*”) następuje po wyrażeniu i wskazuje, że poprzednie wyrażenie może wystąpić zero lub więcej razy.
Wyrażenie |
Znaczenie |
Pasuje |
Nie pasuje |
Ab*c |
Znak „A”, po którym następuje zero lub więcej liter b, a na końcu znajduje się C. |
Ac Abc Abbbbbbbc |
Bbb Abcd |
[a-z]* |
Dowolna liczba liter (oznacza, że mają to być tylko litery, ale obejmuje również zerową liczbę liter) |
A Bob AAAAA Stal <Puste> (ponieważ * może oznaczać zerową ilość wystąpień) |
STAL230 12 AA-## |
Znak plus („+”) następuje po wyrażeniu i wskazuje, że poprzednie wyrażenie może wystąpić jeden lub więcej razy.
Wyrażenie |
Znaczenie |
Pasuje |
Nie pasuje |
Ab+c |
Znak „A”, po którym następuje jedna lub więcej liter b, a na końcu znajduje się C. |
Abc Abbbbbbbc |
Ac Bbb Abcd |
[a-z]+ |
Dowolna liczba dowolnych liter (oznacza, że mają to być tylko litery) |
Bob AAAAA Stal |
STAL230 12 AA-## <puste> |
Znak zapytania (?) następujące wyrażenie, aby wskazać, że poprzednie wyrażenie jest opcjonalne.
Wyrażenie |
Znaczenie |
Pasuje |
Nie pasuje |
Ab?c |
Znak „A”, po którym następuje opcjonalnie litera „b”, a na końcu C. |
Ac Abc |
Abbc Abcd |
390-[a-z][a-z]? |
Ciąg znaków „390-”, po którym następuje litera oraz druga opcjonalna litera. |
390-A 390-AB |
390-11 390- 390-ABC |
Znak kreski pionowej („|”) działa jak operator OR (lub) między dwoma wyrażeniami (zazwyczaj zamkniętymi w nawias).
Wyrażenie |
Znaczenie |
Pasuje |
Nie pasuje |
(390|241)-[a-z]+ |
Ciągi znaków „390” lub „241”, po których występuje znak „-” i co najmniej jedna litera. |
390-A 241-A 241-AB |
200-A 241 241- |
Według (MS2377|CS123) |
Ciąg znaków „Według”, po którym następuje ciąg znaków „MS2377” lub „CS123” |
Według MS2377 Według CS123 |
Według Według MS3222
|
390-([abc]|[123]) |
Ciąg znaków „390-”, po którym następuje litera „a”, „b” lub „c” LUB cyfra „1”, „2” lub „3”. |
390-A 390-3 |
390-F 390- |
Jeśli trzeba wykonać dopasowanie do znaku, który jest „znakiem specjalnym”, ukośnik lewy przed tym znakiem specjalnym informuje narzędzie Model Review, że znak należy traktować dosłownie (a nie jako znak specjalny).
Wyrażenie |
Znaczenie |
Pasuje |
Nie pasuje |
[0-9]\+ |
Liczba po znaku a „+”. |
1+ 2+ |
1 A 1+1 |
Co\? |
Ciąg znaków „Co”, po którym następuje pytajnik. |
Co? |
Co się dzieje? |
Często wykonywanym zadaniem w narzędziu Model Review jest „rozpoczęcie” od określonej wartości lub „zakończenie” na niej. Ta składnia jest jedyną różnicą w porównaniu z wyrażeniami regularnymi służącymi do wyszukiwania. Zaleca się, aby użyć znaku ".*" lub ".+" z przodu lub z tyłu wyrażenia, aby wskazać znaki, od których rozpoczyna się ono lub kończy.
Wyrażenie |
Znaczenie |
Pasuje |
Nie pasuje |
390-.* |
Rozpoczyna się od ciągu znaków „390-” (kończy się dowolnym znakiem & endash;, w tym pustym). |
390-1 390-111 |
1390-1 |
390-.+ |
Zaczyna się od ciągu znaków „390-” (kończy dowolnym znakiem, ale musi to być przynajmniej jeden znak). |
390-1 390-111 |
1390-1 390- |
.*-[a-z] |
Kończy się znakiem „-” i literą (zaczyna dowolnym znakiem, również pustym). |
Wersja-A Wer-A -A |
Wersja-A1 Wer-1 123 –1 |
.+-[a-z] |
Kończy się znakiem „-” i literą (zaczyna dowolnym znakiem, ale musi być przynajmniej jeden). |
Wersja-A Wer-A |
Wersja-A1 Wer-1 123 –1 -A |
Wyrażenia regularne to bardzo skuteczne (choć nieco skomplikowane) narzędzie do dopasowywania tekstu. Aby sprostać bardziej złożonym wymaganiom, niezbędne może być łączenie wielu wyrażeń w jedno złożone.
Poniżej podano przykłady złożonych wyrażeń:
Wyrażenie |
Znaczenie |
Pasuje |
Nie pasuje |
[0-9]+[-]?[0-9]+ |
Liczby z opcjonalnym myślnikiem między nimi. |
123-45 12345 |
12A32 1232-A A |
.*[^_] |
Nie może kończyć się podkreśleniem (_). |
123324 PART1 |
12343_ |
(390|231)-[a-z0-9]+-[0-9]+ |
Ciągi znaków 390 lub 231, po których występuje znak „-”, sekcja alfanumeryczna z przynajmniej jednym znakiem, potem „-” i przynajmniej jedna cyfra. |
390-mypart-1 231-bracket-99 |
120-mypart-1 380- - |