Čo sú regulárne výrazy v jazyku Java?

V jazyku Java je Regex alebo Regulárny výraz aplikačným programovým rozhraním, ktoré pomáha pri definovaní vzoru za účelom vyhľadávania, manipulácie a úpravy reťazcov. Regulárne výrazy Java sa široko používajú pri overovaní hesiel a e-mailov. Tieto výrazy poskytuje balík java.util.regex a skladá sa z 1 rozhrania a 3 tried.

Tieto tri triedy sú:

  1. Vzor: Pomáha pri definovaní vzorov.
  2. Matcher: Použitie vzorov, pomáha pri vykonávaní zápasu.
  3. PatternSyntaxException: Pomáha pri označení chyby syntaxe.

Java Regex má jedno rozhranie známe ako MatchResultInterface, ktoré pomáha pri určovaní výsledku operácie zhody regulárneho výrazu.

Syntax regulárneho výrazu v Jave

Teraz sa pozrime, ako napísať regulárny výraz v jazyku Java pomocou programu.

kód:

//Java program to demonstrate regular expressions
import java.util.regex.*;
public class RegExamples (
public static void main(String args())(
String A = " Happiness is " + " within yourself";
String B = ".*within.*";
// checks whether the string A contains the word 'within' and stores the result in matchcheck
boolean matchcheck = Pattern.matches(B, A);
//prints the result
System.out.println("Is there any string 'within' in the text ? \n " + matchcheck);
) )

Výkon:

Bežne používané metódy v regulárnych výrazoch

V regulárnych výrazoch existujú 3 bežne používané metódy. Oni sú,

1. Metódy indexu

Metódy indexu ponúkajú hodnoty indexu, ktoré pomáhajú presne ukazovať, kde sa našla zhoda v reťazci zadanom ako vstup.

metóda popis
štart ()Vráti sa počiatočný index predchádzajúcej zhody.
začiatok (int skupina)Vzhľadom na predchádzajúcu zhodu operácie subsekvencie je zachytená a vrátená.
koniec()Ofset po zhode s posledným znakom je vrátený.
Koniec (int skupina)Vzhľadom na predchádzajúcu zhodu operácie subsekvencie je zachytená a posunutá po zhode jej posledného vráteného znaku.

2. Študijné metódy

Študijné metódy skontrolujú reťazec zadaný ako vstup a vráti sa booleovská hodnota označujúca, či sa vzor našiel alebo nie.

metóda popis
pozerajúc sa na()Priraďte sekvenciu zadanú ako vstup k vzorke od začiatku oblasti.
Nájsť()Nájde ďalšiu subsekvenciu sekvencie zadanej ako vstup oproti vzoru od začiatku oblasti.
nájsť (int start)Vynuluje zápas a potom nájde ďalšiu subsekvenciu sekvencie zadanej ako vstup oproti vzoru zo zadaného indexu.
zápasy()Zhoduje obsah so vzorom.

3. Metódy výmeny

Metódy, ktoré sa používajú na nahradenie textu v reťazci.

metóda popis
appendReplacement (StringBuffer s, Náhrada reťazca)Bude uskutočnený krok bez pripojenia a výmeny.
appendTail (StringBuffer s)Bude vykonaný krok pripojenia a výmeny terminálu.
nahradiť všetko (nahradiť reťazec)Nahraďte všetky subsekvencie postupnosti zadané ako vstup, ktoré sa zhodujú so vzorkou, náhradným reťazcom.
citátReplacement (String s)Za uvedený reťazec bude vrátený doslovný náhradný reťazec.
ReplaFirst (String náhradné)Nahraďte prvú subsekvenciu sekvencie zadanej ako vstup, ktorá sa zhoduje so vzorkou, náhradným reťazcom.

Ako definovať regulárny výraz v Jave?

Existuje niekoľko spôsobov, ako je možné definovať regulárny výraz. Oni sú:

1. Literály

Predpokladajme, že reťazec „hai“ sa musí vyhľadať v texte „hai“. Dá sa to urobiť pomocou syntaxe.

Pattern.matches("hai", "hai")

2. Triedy znakov

Zhoduje sa s každým jednotlivým znakom v texte zadaným s viacerými povolenými znakmi v triede znakov. Nasledujú rôzne konštrukty triedy.

Trieda znakov vysvetlenie
(PQR)Zhoduje sa s textom, ak obsahuje p, q alebo r a mal by byť iba raz.
(PQR)označuje negáciu, a preto sa tu berú jednotlivé znaky s výnimkou písmen p, q alebo r.
(A-zA-Z)a až z a A až Z.
(Ad (ps))a až d alebo p až s.
(A-dm-p)Spojenie oboch rozsahov.
(Az && (PQR))a až z a (p, q alebo r).
(Az && (pq))a až z a tiež p, q sa nezohľadňujú.
(Ad-z)Vykoná odpočítanie.
(Az && (mp))a až z a nie m až p.

3. Metaznaky

Metaznaky sa v regulárnom výraze správajú ako krátke kódy. Nasleduje niekoľko bežne používaných metaznakov.

Regulárny výraz vysvetlenie
\ dAkákoľvek číslica od 0 do 9. Môže byť tiež zapísaná ako (0-9).
\ DAkákoľvek číslica od 0 do 9. Môže byť tiež zapísaná ako (0-9).
\ sZnak medzery alebo (\ t \ n \ x0B \ f \ r).
\ SZnak bez medzier alebo znakov (\ s).
\ wZnak slova alebo (a-zA-Z_0-9).
\ WNeslovný znak alebo (\ w).
\ bHranica slova.
\ BBezslovná hranica.

4. Kvantifikátory

Kvantifikátory uvádzajú počet výskytov každého znaku, ktorý sa má zhodovať s reťazcom.

Regulárny výraz vysvetlenie
znak?Vyskytuje sa raz alebo vôbec.
A *A nastane 0 alebo viackrát.
A +A nastane 1 alebo viackrát.
A (n)A nastane presne n krát.
A (n)A sa vyskytuje n alebo viac ako to.
A (n, m)A sa vyskytuje najmenej n-krát, ale nemalo by byť viac ako m-krát.

Ako vytvoriť regulárny výraz v Jave?

Teraz sa pozrime na program java s vyššie uvedenými regulárnymi výrazmi.

kód:

//Java program to demonstrate regular expressions
import java.util.regex.*;
public class RegExamples (
public static void main(String args())(
String str="hai";
// Returns true if string 1 matches string 2
System.out.println("Returns true if 'hai' matches 'Hai' :"+
Pattern.matches(str, "Hai")); //False
//Returns true if Hai or hai matches parameter 2
System.out.println("Returns true if 'Hai' or 'hai' matches 'Hai' : "+
Pattern.matches("(Hh)ai", "Hai")); //True
// Returns true if the string matches exactly "ann" or "Ann" or "jak" or "Jak"
System.out.println("Returns true if the string matches exactly 'ann' or 'Ann' or 'jak' or 'Jak' with 'Ann' : "+
Pattern.matches("(aA)nn|(jJ)ak", "Ann"));//True
//returns true if the string contains "with" at any place in the string
System.out.println("returns true if the string contains 'with' in the string 'within' : " +
Pattern.matches(".*with.*", "within"));//True
// returns true if the '9448anna' does not have number in the beginning
System.out.println( "returns true if the '9448anna' does not have number in the beginning : "+
Pattern.matches("^(^\\d).*", "9448anna")); //False
System.out.println("returns true if the '9448anna' does not have number in the beginning : " +
Pattern.matches("^(^\\d).*", "anna9448")); //True
)
)

Výkon:

záver

Regulárne výrazy Java sa široko používajú pre aplikácie v reálnom čase, ako je napríklad overenie hesla a e-mailu. Tieto výrazy sú rozhrania API, ktoré definujú vzory a ponúkajú vyhľadávanie, úpravy a niekoľko ďalších operácií v reťazci.

Odporúčané články

Toto je príručka pre regulárne výrazy v Jave. Tu diskutujeme o tom, ako vytvoriť, ako definovať a bežne používané metódy regulárnych výrazov v jave. Ďalšie informácie nájdete aj v nasledujúcich článkoch -

  1. Top 3 najlepšie kompilátory v Jave
  2. Regulárne výrazy v JavaScripte - vlastnosti a metódy
  3. Vývoj aplikácií Java
  4. Metódy poľa v Java s príkladmi
  5. Funkcie regulárnych výrazov v Pythone (príklad)

Kategórie: