Mitä ovat Java-säännölliset lausekkeet?

Java , Regex tai Regular Expression on sovellusohjelmarajapinta, joka auttaa kuvion määrittelyssä merkkijonojen etsimiseksi, käsittelemiseksi ja muokkaamiseksi. Java-säännöllisiä lausekkeita käytetään laajalti salasanojen ja sähköpostien vahvistamisessa. Nämä lausekkeet tarjoaa java.util.regex-paketti ja koostuu yhdestä rajapinnasta ja 3 luokasta.

Kolme luokkaa ovat:

  1. Kuvio: Auttaa määrittelemään kuvioita.
  2. Hakija: Kuvioiden käyttäminen auttaa otteluoperaatioiden suorittamisessa.
  3. PatternSyntaxException: Auttaa syntaksivirheen ilmoittamisessa.

Java Regexillä on yksi käyttöliittymä, joka tunnetaan nimellä MatchResultInterface, joka auttaa määrittämään säännöllisen lausekkeen vastaavuustoiminnan tuloksen.

Säännöllisen lausekkeen syntaksi Java-kielellä

Nyt katsotaan kuinka kirjoittaa säännöllinen lauseke Java-ohjelmaan ohjelman avulla.

Koodi:

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

lähtö:

Yleisesti käytetyt menetelmät säännöllisissä lausekkeissa

Säännöllisissä lausekkeissa on 3 yleisesti käytettyä menetelmää. He ovat,

1. Hakemistomenetelmät

Hakemistomenetelmät tarjoavat indeksiarvoja, jotka auttavat osoittamaan tarkalleen, missä vastaavuus löytyi syötteenä annetusta merkkijonoista.

Menetelmä Kuvaus
alkaa()Edellisen ottelun aloitusindeksi palautetaan.
aloitus (ryhmä)Ryhmän aikaisemman otteluoperaation perusteella sekvenssi kaappaaan ja palautetaan.
end ()Viimeisen merkin sovittamisen jälkeen siirtymä palautetaan.
Loppu (ryhmä)Kun otetaan huomioon ryhmän aikaisempi otteluoperaatio, sekvenssi kaappaa ja siirretään vastaamisen jälkeen, kun sen viimeinen merkki palasi.

2. Tutkimusmenetelmät

Opintomenetelmät tarkistavat syötteenä annettu merkkijono ja Boolean-arvo palautetaan osoittaen löytyykö malli vai ei.

Menetelmä Kuvaus
lookingAt ()Vastaa syötteenä annettu sekvenssi mallin kanssa alueen alusta alkaen.
löytö()Etsii syötteeksi annetun sekvenssin seuraavan sekvenssin mallin mukaan alueen alusta.
etsi (int aloitus)Nollaa hakijan ja löytää sitten seuraavan sekvenssin sekvenssinä, joka on annettu syötteenä kuviota vasten määritellystä indeksistä.
Ottelut()Vastaa sisältöä kuvion kanssa.

3. Korvaavat menetelmät

Menetelmät, joita käytetään korvaamaan merkkijono teksti.

Menetelmä Kuvaus
lisäysVaihto (StringBuffer s, String korvaaminen)Ei-terminaalinen lisäys ja korvausvaihe toteutetaan.
appendTail (StringBufferit)Päätelaitteen liitäntä ja vaihtovaihe toteutetaan.
korvata kaikki (merkkijonojen korvaaminen)Korvaa kaikki syötteinä annetun sekvenssin sekvenssit, jotka vastaavat kuviota korvaavalla merkkijonolla.
quoteReplacement (merkkijonot)Mainitulle merkkijonolle palautetaan kirjaimellinen korvaava merkkijono.
replaFirst (merkkijonojen korvaaminen)Korvaa syötteenä annetun sekvenssin ensimmäinen sekvenssi, joka vastaa mallia korvaavalla merkkijonolla.

Kuinka määritellä säännöllinen lauseke Java-sovelluksessa?

Säännöllinen lauseke voidaan määritellä monella tapaa. He ovat:

1. Kirjallisuus

Oletetaan, että merkkijono “hai” on etsittävä tekstistä “hai”. Se voidaan tehdä syntaksin avulla.

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

2. Merkkilajit

Se vastaa kutakin merkkiä tekstissä, joka on annettu syötteenä, useisiin sallittuihin merkkeihin merkistössä. Seuraavat ovat erilaisia ​​luokan rakenteita.

Merkkiluokka Selitys
(Pqr)Vastaa tekstiä, jos se sisältää joko p, q tai r ja sen tulisi olla vain kerran.
(Pqr)tarkoittaa kieltämistä ja tästä johtuen tässä otetaan yksi merkki paitsi p, q tai r.
(A-zA-Z)a - z ja A - Z otetaan huomioon.
(Ad (ps))a - d tai p - s.
(A-dm-p)Molempien alueiden liitto.
(Az && (pqr))a - z ja (p, q tai r).
(Az && (pq))a - z ja myös, p, q, ei oteta huomioon.
(talso)Suorittaa vähennyksen.
(Az && (mp))a - z eikä m - p.

3. Sisämerkit

Metahahmot toimivat kuten lyhyet koodit säännöllisessä lausekkeessa. Seuraavassa on joitain yleisesti käytetyistä metamerkeistä.

Tavallinen ilme Selitys
\ dMikä tahansa luku välillä 0 - 9. Se voidaan kirjoittaa myös (0-9).
\ DMikä tahansa ei-numeroinen välillä 0 - 9. Se voidaan kirjoittaa myös (0-9).
\ sVälilyönti tai (\ t \ n \ x0B \ f \ r).
\ SEi välilyöntiä tai (\ s).
\ wSanamerkki tai (a-zA-Z_0-9).
\ WEi-sanallinen merkki tai (\ w).
\ bSanaraja.
\ BEi-sanallinen raja.

4. Kvantifioijat

Kvantifioijat mainitsevat kunkin merkin esiintymismäärän vastaamaan merkkijonoa.

Tavallinen ilme Selitys
ApTapahtuu kerran tai ei lainkaan.
A *A esiintyy vähintään 0 kertaa.
A +A esiintyy vähintään kerran.
Järjestyksessään (n)A esiintyy tarkalleen n kertaa.
Järjestyksessään (n, )A esiintyy n tai enemmän.
Järjestyksessään (n, m)A esiintyy vähintään n kertaa, mutta sen ei pitäisi olla yli m kertaa.

Kuinka luoda säännöllinen lauseke Java: seen?

Katsotaanpa nyt java-ohjelma, jolla on yllä mainitut säännölliset lausekkeet.

Koodi:

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

lähtö:

johtopäätös

Java-säännöllisiä lausekkeita käytetään laajalti reaaliaikaisiin sovelluksiin, kuten salasanan ja sähköpostin todentamiseen. Nämä lausekkeet ovat sovellusliittymiä, jotka määrittelevät mallit ja tarjoavat hakua, muokkausta ja useita muita merkkijonon toimintoja.

Suositellut artikkelit

Tämä on opas säännöllisiin lausekkeisiin Java-kielellä. Tässä keskustellaan siitä, miten luodaan, miten määritetään ja yleisesti käytetyt menetelmät säännöllisille lausekkeille java-kielellä. Voit myös katsoa seuraavia artikkeleita saadaksesi lisätietoja -

  1. 3 suosituinta Java-kääntäjää
  2. Säännölliset lausekkeet JavaScript - ominaisuudet ja menetelmät
  3. Java-sovelluskehitys
  4. Järjestelmämenetelmät Java-sovelluksissa esimerkkien avulla
  5. Regex-toiminnot Pythonissa (esimerkki)