logo

Regex Tutorial - Kako pisati redne izraze?

Redni izraz (Regex) je zaporedje znakov, ki definirajo vzorec iskanja. Tukaj je opisano, kako napisati redne izraze:

vklopi javo
  1. Začnite z razumevanjem posebnih znakov, ki se uporabljajo v regexu, kot je '. '*' '+' '?' in še več.
  2. Izberite programski jezik ali orodje, ki podpira Regex, kot sta Python Perl ali Grep.
  3. Napišite svoj vzorec s posebnimi in dobesednimi znaki.
  4. Uporabite ustrezno funkcijo ali metodo za iskanje vzorca v nizu.

Primeri:

  1. Če se ujemate z zaporedjem dobesednih likov, preprosto napišite te znake v vzorec.
  2. Za ujemanje enega samega znaka iz nabora možnosti uporabite kvadratne nosilce, npr. [0123456789] se ujema s katero koli številko.
  3. Če se želite ujemati z nič ali več pojavov prejšnjega izraza, uporabite simbol zvezde (*).
  4. Če se želite ujemati z enim ali več pojavom prejšnjega izraza, uporabite simbol plus (+).
  5. Pomembno je opozoriti, da je Regex lahko zapleten in ga je težko brati, zato je priporočljivo uporabiti orodja, kot so Regex Testers za odpravljanje napak in optimizacijo vaših vzorcev.

Redni izraz (včasih imenovan racionalen izraz) je zaporedje znakov, ki definirajo vzorec iskanja, predvsem za uporabo v vzorcu, ki se ujema z nizom ali ujemanjem nizov, tj. "Poiščite in zamenjajte", kot so operacije. Redni izrazi so posplošen način za ujemanje vzorcev z zaporedji likov. Uporablja se v vsakem programskem jeziku, kot sta C ++ Java in Python. 



Kaj je reden izraz in kaj je tako pomembno?  

Regex se uporablja v Google Analytics Pri ujemanju URL -jev pri podpori iskanju in nadomeščanju pri večini priljubljenih urednikov, kot so vzpenjajoči nosilci Notepad ++, Google Dokumenti in Microsoft Word.

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

Zgornji redni izraz se lahko uporabi za preverjanje, ali je določen niz znakov e -poštni naslov ali ne. 

Kako napisati redne izraze?

Obstajajo nekateri elementi, ki se uporabljajo za pisanje rednih izrazov, kot je omenjeno spodaj:



1. Repetitorji (* + in {})  

Ti simboli delujejo kot ponavljalniki in računalniku povedo, da je treba prejšnji znak uporabljati več kot le enkrat.

2. simbol zvezdice ( *)

Računalnik pove, da se ujema s prejšnjim znakom (ali naborom znakov) za 0 ali večkrat (do neskončnega).

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

3. Simbol plus ( +)  

Računalnik pove, da ponovi prejšnji znak (ali nabor znakov) v vsaj enem ali večkrat (do neskončnega).



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

4. Curly Braces {…}  

Računalnik pove, da ponovi prejšnji znak (ali niz znakov) za tolikokrat, kot je vrednost znotraj tega nosilca.

    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 DOT lahko zasede mesto katerega koli drugega simbola, zato se imenuje značaj Wildcard.

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

6. Izbirni značaj (?)  

Ta simbol računalniku pove, da je prejšnji znak lahko ali ne bo prisoten v nizu, ki ga je treba ujemati.

    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 ( ^) ( Nastavitev položaja za tekmo)

Caret simbol računalniku pove, da se mora tekma začeti na začetku niza ali črte.

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

8. simbol dolarja ($)  

Računalnik pove, da se mora tekma zgoditi na koncu niza ali pred n na koncu vrstice ali niza.

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

9. Razredi znakov  

Razred likov se ujema s katerim koli od nabora znakov. Uporablja se za ujemanje najosnovnejšega elementa jezika, kot je črka, številka prostora, simbol itd. 


s : Ujema se z vsemi znaki WhiteSpace, kot sta prostor in zavihek.
S : Ujema se z vsemi znaki, ki niso beli prostor.
d : ujema s katerim koli številčnim znakom.
D: se ujema z vsemi nerazrednimi znaki.
V : Ujema se s katerim koli besednim znakom (v bistvu alfa-numeric)
V : ujema z vsakim ne-besednim znakom.
b : Ujema se s katero koli mejo besed (to bi vključevalo presledke popravkov vejic polkolone itd.
[set_of_characters]: Ujema s katerim koli posameznim znakom v set_of_characters. Tekma je privzeto občutljiva na primer.

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

10. [^Set_of_characters] Negacija:  

Ujema se s katerim koli posameznim znakom, ki ni v set_of_characters. Tekma je privzeto občutljiva na primer.

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

11. [Prvo zastrašitev] Območje znakov:  

Ujema s katerim koli posameznim znakom v območju od prvega do zadnjega.

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

12. simbol pobega () 

Če se želite ujemati z dejanskimi znaki '+' '.' ETC, dodajte povratno besedo () pred ta znak. To bo računalniku povedalo, da bo naslednji znak obravnaval kot iskalni znak in ga obravnaval za ustrezni vzorec.

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

13. Razvrščanje znakov ()  

Nabor različnih simbolov običajnega izraza je mogoče razvrstiti skupaj, da deluje kot ena sama enota in se obnaša kot blok za to, za to morate zaviti redni izraz v oklepaju ().

    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. navpična vrstica (|)  

Ujema se s katerim koli elementom, ločenim z znakom navpične palice (|).

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

15. Številka 

Zaodrefence: Omogoča, da se prej ujemana pod-ekspresija (izražanje, zajet ali zaprt v krožnih nosilcih), pozneje v istem običajnem izrazu identificirati. n pomeni, da se bo skupina, zaprta v N-Th, ponovila na trenutnem 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) 

Vgrajeni komentar: Komentar se konča ob prvi zaključni oklepaji.

povratni tip v Javi
    Example :    bA(?#This is an inline comment)w+b

17. # [do konca črte] 

Komentar X-mode. Komentar se začne pri neobremenjeni # in nadaljuje do konca vrstice.

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