Jak pisać Regex w Javie

Jak pisać Regex w Javie

Regex (akronim Wyrażenie regularne) to sekwencja znaków, które pomagają nam w wyszukiwaniu i manipulowaniu strunami. Wyrażenia regularne może być używane we wszystkich językach programowania, takich jak Java, C ++ itp. Aby skorzystać z funkcji Regex, Java zapewnia wbudowany pakiet Jawa.Util.Regex który zawiera trzy klasy Wzór, Matcher, I PatternSyntaxException.

Ten zapis zapewni kompleksowy przegląd pisania regularności w Javie i zrobić to, musimy zrozumieć następujące pojęcia:

  • Jawa.Util.Pakiet Regex
  • Tworzenie wzoru i dopasowanie wzoru w Regex
  • Flagi i wzory w Regex
  • Metacharacters w Regex
  • Kwantyfikatory w Regex
  • Jak pisać Regex w Javie

Więc zacznijmy!

Jawa.Util.Pakiet Regex

Jest to pakiet wbudowany, który obejmuje trzy klasy: a Wzór klasa, aby zdefiniować wzór, który będzie używany do wyszukiwania, a Matcher klasa, która może być używana do wyszukiwania wzoru i PatternSyntaxException klasa wskazująca błąd/wyjątek składniowy w a Regex wzór.

Tworzenie wzoru i dopasowanie wzoru w Regex

Musimy wywołać skompilować() Metoda Wzór klasa, aby stworzyć wzór. Metoda Compile () zwróci wzór, który będzie interpretowany przez Matcher () Metoda wykonywania operacji dopasowania przez ciąg/sekwencję znaków.

Przed udaniem się w kierunku, w jaki sposób napisać Regex na Javie, musimy zrozumieć ważne flagi, metacharacters i kwantyfikatory, które mogą być pomocne w pisaniu Regex.

Wzory w Regex

Klasa wzoru wykorzystuje tę skompilować() metoda tworzenia wzorca i może wymagać dwóch parametrów, jeden do przeszukania wzoru, a drugi jest opcjonalny, który służy do określenia flagi.

Jak skompilować() Metoda przyjmuje wzór w pierwszym parametrze, dlatego niektóre często używane wzorce podano poniżej:

  1. [-] W nawiasach „-” reprezentuje różne znaki, podczas gdy [-] reprezentuje wzór, który określa, który znajduje/wyszukuj znak wśród opcji określonych w nawiasach.
  2. [ ^-] Tutaj ^ znak nie reprezentuje, co oznacza, że ​​jeśli określimy znak z pewnym wzorem, oznacza to, że znajdź znak, z wyjątkiem opcji określonych w nawiasach.
  3. [0-9], reprezentuje znalezienie liczby od 0 do 9.

Flagi w wyrażeniach

Flagi można przekazać jako drugi parametr do metody Compile () i służy do określenia zachowania wyszukiwania regularnego. Na przykład case_insenstive jest flagą, która określa: poszukaj wzorca, niezależnie od czułości obudowy i.mi. wielkie lub małe litery.

Metacharacters w Regex

Metacharacters Pomóż nam w zdefiniowaniu kryteriów wyszukiwania Regex i tych Metacharacters mieć jakieś szczególne znaczenie. Niektóre najczęściej używane metacharakty są wymienione w poniżej podanej w tabeli:

Metacharacters Opis
\D znajduje cyfrę
\B Znajduje mecz na początku lub na końcu słowa
$ Znajduje dopasowanie na końcu łańcucha
^ Znajduje mecz na początku łańcucha
\S Służy do przeszukiwania białych przestrzeni
| Znajduje dopasowanie z wielu opcji oddzielonych „|”.
. Używane do dopasowania jednego znaku

Kwantyfikatory w Regex

Jak sama nazwa wskazuje, kwantyfikatory określają ilość i.mi. Ile razy liczba występuje we wzorze, niektóre często używane kwantyfikatory podano w poniższej tabeli:

Kwantyfikatory Opis
A+ A pojawia się co najmniej raz
A* A występuje zero lub więcej czasu
A? A występuje zero czasu lub raz
Jakiś A występuje N liczba razy
Jakiś, A występuje n razy lub więcej niż n razy
A x, y A występuje między dostarczonym zakresem i.mi. A występuje co najmniej x razy, ale mniej niż y razy

Jak pisać Regex w Javie

Klasa wzoru zostanie użyta do stworzenia wzoru i do tego „Publiczne statyczne kompile ()” metoda, później określamy wzór w obrębie skompilować() metoda.

W Javie regularność można zapisać na wiele sposobów, jak wymieniono poniżej:

Pierwsza metoda

W poniższym fragmencie, po pierwsze, tworzymy obiekt klasy wzorców i określamy wzór w jego metodzie kompilacji. Korzystamy z Metacharacter "." co mówi, że sznur składa się z dwóch liter, w których pierwsza litera może być cokolwiek innego, jak tylko druga litera musi być "I":

Klasa publiczna WriteeGexExample
publicClassWriteReGexExample
publicStaticVoidMain (String args [])
Wzór ptrn = wzór.skompilować(".I");
Matcher Mat = ptrn.Matcher („HI”);
Booleanbol = mat.mecze();
System.na zewnątrz.println (bol);

Tworzymy obiekt klasy mechera, który interpretuje wzór i będzie wykonywać operacje dopasowania w ciągu wejściowego. Następnie wykorzystaliśmy metodę Matches (), która zwróci wartość logiczną, jeśli zostanie znaleziony mecz, zwróci „Prawdą” Else Fałsz.

Dane wyjściowe pokazuje prawdziwe, co oznacza, że ​​pożądany mecz został pomyślnie znaleziony.

Druga metoda

Poniżej podarowany fragment pokazuje inny sposób pisania wyrażenia od regularności w Javie:

boolean bol = wzór.skompilować(".I").Matcher („HI”).mecze();
System.na zewnątrz.println (bol);

Tym razem używamy compile (), matcher (), I mecze() Metody za jednym razem.

Wyjście pokazuje, że nasz program działa poprawnie.

Trzecia metoda

Innym sposobem na napisanie wyrabiarki jest to, że możemy bezpośrednio wykorzystać mecze() Metoda klasy mechera z klasą wzorców i w nawiasie, określamy „wzór”I ciąg, z którym chcemy się dopasować.

boolean bol = wzór.mecze(".I ”,„ Cześć ”);
System.na zewnątrz.println (bol);

Pełny kod i odpowiednie wyjście pokazano na poniższym fragmencie:

Wyjście uwierzytelnia działanie powyższego programu.

Wniosek

Regex to sekwencja znaków, które definiują wzorce wyszukiwania, które można użyć do wyszukiwania, manipulowania i edytowania ciągu. Regex może być napisany na wiele sposobów, podejście do pisania Regex może być inne, jednak musimy wykorzystać skompilować() metoda klasy wzorców i mecze() Metoda klas mecherowych w każdym podejściu. Ten zapis przedstawia szczegółowy przegląd pisania wyrażenia regularnego i dla lepszego zrozumienia, wyjaśnia wszystkie niezbędne aspekty wyrażeń regularnych, takie jak kwantyfikatory, metacharacters i tak dalej.