Vad är vanliga uttryck i Java?

I Java är Regex eller Regular Expression ett applikationsprogramgränssnitt som hjälper till att definiera ett mönster för att söka, manipulera och redigera strängar. Vanliga Java-uttryck används ofta i valideringen av lösenord och e-postmeddelanden. Dessa uttryck tillhandahålls av java.util.regex-paketet och består av 1 gränssnitt och 3 klasser.

De tre klasserna är:

  1. Mönster: Hjälper till att definiera mönster.
  2. Matcher: Att använda mönster, hjälper till att utföra matchoperationer.
  3. PatternSyntaxException: Hjälper till att indikera ett syntaxfel.

Java Regex har ett gränssnitt som kallas MatchResultInterface som hjälper till att bestämma det reguljära uttrycks matchningsoperationsresultat.

Syntax av reguljärt uttryck i Java

Låt oss nu se hur man skriver ett vanligt uttryck i Java med hjälp av ett program.

Koda:

//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);
) )

Produktion:

Vanliga metoder i vanliga uttryck

Det finns 3 vanliga metoder i vanliga uttryck. Dom är,

1. Indexmetoder

Indexmetoder erbjuder indexvärden som hjälper till att exakt visa var matchningen hittades i strängen angiven som input.

Metod Beskrivning
Start()Första matchens startindex returneras.
start (int-grupp)Med tanke på gruppens tidigare matchoperation fångas och returneras senare.
slutet()Offset efter matchning av det sista tecknet returneras.
Slut (int-grupp)Med tanke på gruppens tidigare matchoperation fångas upp och kompenseras efter matchning av det sista tecknet som returnerats.

2. Studiemetoder

Studiemetoder kontrollerar strängen som ges som ingång och ett booleskt värde returneras som indikerar om mönstret hittas eller inte.

Metod Beskrivning
tittar på()Matcha sekvensen som ges som inmatning mot mönstret från början av regionen.
hitta()Hitta nästa sekvens av sekvensen som ges som inmatning mot mönstret från början av regionen.
hitta (int start)Återställer matcharen och hittar sedan nästa sekvens av sekvensen som ges som inmatning mot mönstret från det angivna indexet.
tändstickor()Matchar innehållet mot mönstret.

3. Ersättningsmetoder

Metoder som används för att ersätta text i en sträng.

Metod Beskrivning
appendReplacement (StringBuffer s, String byte)Ett icke-terminal tilläggs- och ersättningssteg kommer att implementeras.
appendTail (StringBuffer s)Ett terminaltillägg och ersättningssteg kommer att implementeras.
byt ut alla (Strängersättning)Byt ut all sekvens av sekvensen som ges som ingång som matchar mönstret med en ersättningssträng.
quoteReplacement (String s)En bokstavlig ersättningssträng returneras för den nämnda strängen.
byteFirst (Strängersättning)Byt ut den första sekvensen av sekvensen som ges som ingång som matchar mönstret med en ersättningssträng.

Hur definierar jag regelbundet uttryck i Java?

Det finns flera sätt på vilka ett regelbundet uttryck kan definieras. Dom är:

1. Bokstäver

Anta att en sträng "hai" måste sökas i texten "hai". Det kan göras med syntaxen.

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

2. Karaktärsklasser

Det matchar varje enskilt tecken i texten som ges som inmatning mot flera tillåtna tecken i teckenklassen. Följande är de olika klasskonstruktionerna.

Teckenklass Förklaring
(PQR)Matchar texten om den innehåller antingen p, q eller r och den bör vara en gång.
(PQR)betecknar negationen och på grund av detta tas här enstaka tecken utom p, q eller r.
(A-zA-Z)a till z och A till Z beaktas.
(Ad (ps))a till d eller p till s.
(A-dm-p)Förening av båda sortimenten.
(Az && (PQR))a till z och (p, q eller r).
(Az && (pq))a till z och p, q beaktas inte.
(Ad-z)Utför subtraktionen.
(Az && (mp))a till z och inte m till p.

3. Metatecken

Metatecken fungerar som kortkoder i det vanliga uttrycket. Följande är några av de metatecken som vanligtvis används.

Vanligt uttryck Förklaring
\ dAlla siffror från 0 till 9. Den kan också skrivas som (0-9).
\ DAlla icke-siffriga från 0 till 9. Det kan också skrivas som (0-9).
\ sWhitespace-tecken eller (\ t \ n \ x0B \ f \ r).
\ SEj blankstegstecken eller (\ s).
\ wOrdet karaktär eller (a-zA-Z_0-9).
\ WIcke-ordtecken eller (\ w).
\ bOrdgräns.
\ BIcke-ordgräns.

4. Kvantifierare

Kvantifierare nämner antalet förekomst av varje tecken som matchar mot strängen.

Vanligt uttryck Förklaring
a?Händer en gång eller inte alls.
A *A förekommer 0 eller flera gånger.
A +A inträffar en eller flera gånger.
En)A förekommer exakt n gånger.
En, )A förekommer n eller mer än så.
En (n, m)A förekommer minst n gånger men det bör inte vara mer än m gånger.

Hur skapar jag regelbundet uttryck i Java?

Låt oss nu se ett java-program med ovan nämnda reguljära uttryck.

Koda:

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

Produktion:

Slutsats

Java Regular Expressions används ofta för realtidsapplikationer som lösenord och e-postverifiering. Dessa uttryck är API: er som definierar mönster och erbjuder sökning, redigering och flera andra operationer i strängen.

Rekommenderade artiklar

Detta är en guide till Regular Expressions i Java. Här diskuterar vi hur man skapar, hur man definierar och vanligt använda metoder för reguljära uttryck i java. Du kan också titta på följande artiklar för att lära dig mer -

  1. Topp 3 bästa kompilatorer i Java
  2. Regelbundna uttryck i JavaScript - Egenskaper och metoder
  3. Java-apputveckling
  4. Arraymetoder i Java med exempel
  5. Regex-funktioner i Python (exempel)

Kategori: