Výukový program Regex - Ako písať regulárne výrazy?

Regulárny výraz (regex) je sekvencia znakov, ktoré definujú vzor vyhľadávania. Tu je návod, ako písať regulárne výrazy:

  1. Začnite porozumením špeciálnych znakov používaných v regexe, ako napríklad '.' '*' '+' '? A ďalšie.
  2. Vyberte programovací jazyk alebo nástroj, ktorý podporuje regex, ako je Python Perl alebo Grep.
  3. Napíšte svoj vzor pomocou špeciálnych znakov a doslovných znakov.
  4. Na vyhľadanie vzoru v reťazci použite príslušnú funkciu alebo metódu.

Príklady:

  1. Aby sa zhodovala s postupnosťou doslovných znakov, jednoducho napíšte tieto znaky do vzoru.
  2. Aby sa zhodoval s jedným znakom zo súboru možností, používajte štvorcové zátvorky, napr. [0123456789] zhoduje akúkoľvek číslicu.
  3. Aby ste sa zhodovali s nulovými alebo viac výskytmi predchádzajúceho výrazu, použite symbol hviezdy (*).
  4. Aby ste sa zhodovali s jedným alebo viacerými výskytmi predchádzajúceho výrazu, použite symbol plus (+).
  5. Je dôležité si uvedomiť, že regex môže byť zložitý a ťažko čitateľný, preto sa odporúča používať nástroje, ako sú testery regexu na ladenie a optimalizáciu vašich vzorov.

Regulárny výraz (niekedy nazývaný racionálny výraz) je sekvencia znakov, ktoré definujú vzor vyhľadávania hlavne pre použitie pri porovnaní vzorov s reťazcami alebo porovnávaním reťazcov, t. J. „Nájsť a nahradiť“ ako operácie. Regulárne výrazy sú zovšeobecneným spôsobom, ako porovnávať vzory so sekvenciami znakov. Používa sa v každom programovacom jazyku ako C ++ Java a Python. 

Čo je to pravidelný výraz a čo ho robí tak dôležitým?  

Regex sa používa v Analytika Google Pri zhode s adresou URL pri podpore vyhľadávania a nahrádza v najpopulárnejších editoroch, ako je Sublime Notepad ++ Zátvorky Google Docs a Microsoft Word.

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

Vyššie uvedený regulárny výraz je možné použiť na kontrolu, či je daná sada znakov e -mailovou adresou alebo nie. 

Ako písať regulárne výrazy?

Na písanie regulárnych výrazov, ako je uvedené nižšie, používajú určité prvky:

1. Zamilovatelia (* + a {})  

Tieto symboly pôsobia ako opakovače a hovoria počítaču, že predchádzajúci znak sa má použiť viac ako len raz.

2. Symbol hviezdičky ( *)

Hovorí počítaču, aby sa zhodoval s predchádzajúcim znakom (alebo množinou znakov) po dobu 0 alebo viackrát (až do nekonečného).

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

3. Symbol plus ( +)  

Hovorí počítaču, aby opakoval predchádzajúci znak (alebo sadu znakov) na aspoň jeden alebo viackrát (až do nekonečného).

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

4. Kurce rovnátka {…}  

Hovorí počítaču, aby opakoval predchádzajúci znak (alebo sadu znakov) po toľkokrát, ako je hodnota v tejto držiaku.

    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. Zástupca (.) 

Symbol bodky môže nahradiť akýkoľvek iný symbol, a preto sa nazýva znak zástupcu.

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

6. Voliteľný znak (?)  

Tento symbol hovorí počítaču, že predchádzajúci znak môže alebo nemusí byť prítomný v reťazci, ktorý sa má zladiť.

    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. Symbol karety ( ^) ( Nastavenie polohy pre zápas)

Symbol karety hovorí počítaču, že zhoda musí začať na začiatku reťazca alebo riadku.

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

8. Symbol dolára ($)  

Hovorí počítaču, že zhoda sa musí vyskytnúť na konci reťazca alebo pred n na konci riadku alebo reťazca.

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

9. Triedy znakov  

Trieda znakov zodpovedá ktorejkoľvek zo súborov znakov. Používa sa na zladenie najzákladnejšieho prvku jazyka, ako je písmeno a číslica priestor a symbol atď. 


siež : Zhoduje sa s akýmikoľvek znakmi medzery, ako napríklad Space a Tab.
Siež : Zhoduje sa s akýmikoľvek znakmi, ktoré nie sú bielymi.
d : Zhoduje sa s akýmikoľvek číslicovými znakmi.
D: zodpovedá neciferným znakom.
V : zodpovedá akémukoľvek slova znaku (v podstate alfa-numerické)
V : Zhoduje sa s akýmikoľvek znakmi s názvom.
b : Zhoduje sa s akoukoľvek hranicou slova (to by zahŕňalo časopisy Spaces Dashes Comas Semi-Colons atď.
[set_of_characters]: Zodpovedá akémukoľvek jednotlivému znaku v set_of_characters. V predvolenom nastavení je zhoda citlivý na prípad.

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

10. [^set_of_characters] Negácia:  

Zodpovedá akémukoľvek jedinému znaku, ktorý nie je v set_of_characters. V predvolenom nastavení je zhoda citlivý na prípad.

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

11. [Prvá last] Rozsah znakov:  

Zhoduje sa s akýmkoľvek jedným znakom v rozsahu od prvého do posledného.

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

12. Symbol úniku () 

Ak sa chcete vyrovnať za skutočné „+“ „“ atď. Znaky, pridajte backslash () pred týmto znakom. To povie počítaču, aby sa s nasledujúcim znakom zaobchádzalo ako s vyhľadávacím znakom a zvážil ho za zhodný vzor.

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

13. Zoskupovacie znaky ()  

Sada rôznych symbolov regulového výrazu sa dá zoskupovať tak, aby pôsobila ako jedna jednotka a správala sa ako blok, musíte zabaliť regulárny výraz do zátvorky ().

    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. Vertikálna tyč (|)  

Zhoduje sa s ktorýmkoľvek prvkom oddeleným znakom vertikálnej tyče (|).

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

15. Číslo 

Backreferencia: Umožňuje, aby sa predtým v rovnakom regulárnom expresii identifikovala predtým zladená podxpresia (zachytená expresia zachytená alebo uzavretá v kruhových držiakoch). n znamená, že skupina uzavretá v držiaku N-T-TH sa bude opakovať v aktuálnej polohe.

    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. Ako (?# Komentár) 

Inline Komentár: Komentár končí na prvej záverečnej zátvorke.

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

17. # [Na koniec riadku] 

Komentár X-režim. Komentár sa začína nevykonanými # a pokračuje až do konca riadku.

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