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- - |