logo

Regex Tutorial - Kako napisati redovne izraze?

Redovito izraz (Regex) niz je znakova koji definiraju uzorak pretraživanja. Evo kako napisati redovne izraze:

  1. Započnite razumijevanjem posebnih znakova koji se koriste u Regexu, poput "." '*' '+' '?' I još više.
  2. Odaberite programski jezik ili alat koji podržava Regex kao što su Python Perl ili GREP.
  3. Napišite svoj uzorak pomoću posebnih znakova i doslovnih znakova.
  4. Upotrijebite odgovarajuću funkciju ili metodu za pretraživanje uzorka u nizu.

Primjeri:

  1. Da biste odgovarali nizu doslovnih likova, jednostavno napišite te likove u uzorku.
  2. Da biste odgovarali jednom liku iz skupa mogućnosti koristite kvadratne nosače, npr. [0123456789] odgovara bilo kojoj znamenci.
  3. Da biste odgovarali nuli ili više pojava prethodnog izraza, koristite simbol zvijezde (*).
  4. Da biste uskladili jednu ili više pojava prethodnog izraza, koristite simbol plus (+).
  5. Važno je napomenuti da Regex može biti složeno i teško ih je pročitati, pa se preporučuje korištenje alata poput Regex testera za uklanjanje pogrešaka i optimizacije vaših obrazaca.

Redovni izraz (koji se ponekad naziva racionalni izraz) slijed je znakova koji definiraju uzorak pretraživanja uglavnom za upotrebu u uzorku koji se podudara s nizovima ili podudaranjem niza, tj. "Pronađi i zamijeni" kao operacije. Redovni izrazi su generalizirani način za usklađivanje uzoraka sa sekvencama znakova. Koristi se na svakom programskim jeziku kao što su C ++ Java i Python. 



Što je regularni izraz i što ga čini tako važnim?  

Regex se koristi u Google Analytics U URL -u koji se podudara u podržavanju pretraživanja i zamjenjuje u većini urednika poput Sublime Notepad ++ zagrade Google Docs i Microsoft Word.

    Example :     Regular expression for an email address :  
^([a-zA-Z0-9_-.]+)@([a-zA-Z0-9_-.]+).([a-zA-Z]{25})$

Gornji regularni izraz može se koristiti za provjeru je li određeni skup znakova adresa e -pošte ili ne. 

Kako napisati redovne izraze?

Postoje određeni elementi koji se koriste za pisanje regularnih izraza kao što je spomenuto u nastavku:



1. Repetitori (* + i {})  

Ovi simboli djeluju kao ponavljači i govore računalu da se prethodni lik treba koristiti više od samo jednom.

2. simbol zvjezdice ( *)

Kaže računalu da odgovara prethodnom znaku (ili skupu znakova) 0 ili više puta (do beskonačnih).

    Example :    The regular expression ab*c will give ac abc abbc abbbc….and so on 

3. Plus simbol ( +)  

Kaže računalu da ponavlja prethodni karakter (ili skup znakova) najmanje jedan ili više puta (do beskonačnih).



    Example :    The regular expression ab+c will give abc abbc  
abbbc … and so on.

4. kovrčavi nosači {…}  

To računalo govori da ponovi prethodni znak (ili skup znakova) onoliko puta koliko vrijednost unutar ovog nosača.

    Example :    {2} means that the preceding character is to be repeated 2   
times {min} means the preceding character is matches min or more
times. {minmax} means that the preceding character is repeated at
least min & at most max times.

5. Wildcard (.) 

Simbol točke može zauzeti mjesto bilo kojeg drugog simbola zbog čega se naziva lik Wildcard.

java spajanje nizova
    Example :      
The Regular expression .* will tell the computer that any character
can be used any number of times.

6. Neobavezni lik (?)  

Ovaj simbol govori računalu da prethodni karakter može biti ili ne mora biti prisutan u nizu koji će se uskladiti.

    Example :      
We may write the format for document file as – docx?
The ‘?’ tells the computer that x may or may not be
present in the name of file format.

7. Simbol Caret ( ^) ( Postavljanje položaja za utakmicu)

Simbol Caret govori računalu da podudaranje mora započeti na početku niza ili retka.

    Example :    ^d{3} will match with patterns like '901' in '901-333-'.

8. Simbol dolara ($)  

Računalo govori da se podudaranje mora dogoditi na kraju niza ili prije n na kraju retka ili niza.

    Example :    -d{3}$ will match with patterns like '-333' in '-901-333'.

9. Klase znakova  

Klasa likova odgovara bilo kojem od skupa znakova. Koristi se za podudaranje s najosnovnijim elementom jezika poput slova, a znamenito je prostor simbol itd. 


s : podudara se s bilo kojim znakovima od bijelog prostora kao što su Space i Tab.
S : podudara se s bilo kojim likovima ne-bjelooba.
d : podudara se s bilo kojim znamenkom.
D: podudara se s bilo kojim neznatnim likovima.
U : podudara se s bilo kojim riječima riječi (u osnovi alfa-numerički)
U : podudara se s bilo kojim riječima bez riječi.
b : podudara se bilo koja granica riječi (to bi uključivalo razmake zarez zarede itd.
[set_of_characters]: Podudara se bilo koji pojedinačni znak u set_of_racters. Podaci je podudaranje osjetljivo na slučajeve.

    Example :    [abc] will match characters ab and c in any string.

10. [^set_of_racters] Negacija:  

Podudara se bilo koji pojedinačni znak koji nije u set_of_Characters. Podaci je podudaranje osjetljivo na slučajeve.

    Example :    [^abc] will match any character except abc .

11. [prvo] Raspon znakova:  

Podudara se s bilo kojim pojedinačnim likom u rasponu od prvog do posljednjeg.

    Example :    [a-zA-z] will match any character from a to z or A to Z.

12. Simbol bijega () 

Ako se želite podudarati za stvarne znakove '+' '. Ovo će računalu reći da sljedeći znak tretira kao znak pretraživanja i razmotri ga za odgovarajući uzorak.

    Example :    d+[+-x*]d+ will match patterns like '2+2'  
and '3*9' in '(2+2) * 3*9'.

13. Grupiranje znakova ()  

Skup različitih simbola regularnog izraza može se grupirati zajedno kako bi djelovao kao jedna jedinica i ponašati se kao blok za to, morate zamotati pravilan izraz u zagradama ().

    Example :    ([A-Z]w+) contains two different elements of the regular   
expression combined together. This expression will match any pattern
containing uppercase letter followed by any character.

14. Okomita traka (|)  

Odgovara bilo kojem elementu odvojenom znakom vertikalne trake (|).

formatiranje java niza
    Example :    th(e|is|at) will match words - the this and that.

15. Broj 

Povratak: Omogućuje da se prethodno podudara pod-ekspresija (zarobljena ili zatvorena u kružnim zagradama) identificira naknadno u istom pravilnom izrazu. n znači da će se grupa zatvorena u N-Tho nosaču ponoviti u trenutnom položaju.

    Example :    ([a-z])1 will match ee in Geek because the character   
at second position is same as character at position 1 of the match.

16. Kako (?# Komentar) 

Inline Komentar: Komentar završava na prvom zagradama zatvaranja.

    Example :    bA(?#This is an inline comment)w+b

17. # [Do kraja linije] 

Komentar X-Mode. Komentar započinje neobjavljenim # i nastavlja do kraja crte.

    Example :    (?x)bAw+b#Matches words starting with A