logo

Výukový program Regex - Jak psát pravidelné výrazy?

Regulární výraz (regex) je posloupnost znaků, které definují vzor vyhledávání. Zde je návod, jak psát regulární výrazy:

  1. Začněte pochopením zvláštních znaků použitých v regexu, jako je ''. '*' '+' '?' A další.
  2. Vyberte programovací jazyk nebo nástroj, který podporuje Regex, jako je Python Perl nebo Grep.
  3. Napište svůj vzor pomocí speciálních znaků a doslovných znaků.
  4. Pro vyhledávání vzoru v řetězci použijte příslušnou funkci nebo metodu.

Příklady:

  1. Aby se shodovalo sekvence doslovných znaků, jednoduše tyto znaky zapište do vzoru.
  2. Aby se shodovalo s jediným znakem ze sady možností, použijte hranaté závorky, např. [0123456789] odpovídá jakékoli číslici.
  3. Aby se shodovalo s nulou nebo více výskytů předchozího výrazu, použijte symbol hvězdy (*).
  4. Aby se shodovalo s jedním nebo více výskyty předchozího výrazu, použijte symbol plus (+).
  5. Je důležité si uvědomit, že Regex může být složitý a obtížně číst, takže se doporučuje používat nástroje, jako jsou regex testery k ladění a optimalizaci vašich vzorů.

Regulační výraz (někdy nazývaný racionální výraz) je posloupnost znaků, které definují vyhledávací vzor hlavně pro použití při porovnávání vzorů s řetězci nebo porovnáním řetězců, tj. „Najděte a nahradí“ podobné operace. Regulární výrazy jsou generalizovaným způsobem, jak odpovídat vzorům se sekvencemi znaků. Používá se v každém programovacím jazyce, jako je C ++ Java a Python. 



Co je regulární výraz a co je tak důležitým?  

Regex se používá v Google Analytics V porovnávání URL při podpoře vyhledávání a nahrazuje u nejpopulárnějších editorů, jako jsou závorky Sublime NotePad ++, Google Docs a Microsoft Word.

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

Výše uvedený regulární výraz lze použít pro kontrolu, zda je daná sada znaků e ​​-mailovou adresou nebo ne. 

Java synchronizace

Jak psát pravidelné výrazy?

Existují určité prvky používané k psaní regulárních výrazů, jak je uvedeno níže:



1. Repeaters (* + a {})  

Tyto symboly fungují jako opakovače a říkají počítači, že předchozí znak se má používat více než jen jednou.

2. symbol hvězdiček ( *)

Říká počítači, aby odpovídal předchozímu znaku (nebo sadě znaků) po dobu 0 nebo vícekrát (až do nekonečné).

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

3. symbol plus ( +)  

Říká počítači, aby opakoval předchozí znak (nebo sadu znaků) přinejmenším jednou nebo vícekrát (až do nekonečné).



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

4. Kudrnaté rovnátka {…}  

Říká počítači, aby opakoval předchozí znak (nebo sadu znaků) tolikrát jako hodnota uvnitř této držáku.

    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 (.) 

Symbol tečky může nahradit jakýkoli jiný symbol, a proto se nazývá znak zástupného znaku.

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

6. Volitelný znak (?)  

Tento symbol říká počítači, že předchozí znak může nebo nemusí být přítomen v řetězci, který má být porovnán.

    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 Caret ( ^) ( Nastavení pozice pro zápas)

Symbol caret říká počítači, že zápas musí spustit na začátku řetězce nebo řádku.

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

8. Symbol dolaru ($)  

Říká počítači, že shoda musí dojít na konci řetězce nebo před n na konci řádku nebo řetězce.

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

9. Třídy znaků  

Třída postav odpovídá některému ze sady znaků. Používá se k porovnání nejzákladnějšího prvku jazyka, jako je písmeno, číslice Stopa symbol atd. 


s : odpovídá jakýmkoli znakům mezery, jako je Space a Tab.
S : odpovídá jakýmkoli znakům, kteří nejsou WHITESPACE.
d : odpovídá libovolnému znaku číslice.
D: odpovídá jakýmkoli necignovým znakům.
V : odpovídá libovolnému slovnímu znaku (v podstatě alfa-numerický)
V : odpovídá jakémukoli charakteru bez slova.
b : odpovídá libovolné hranici slov (to by zahrnovalo prostory pomlčky čárky polokrouceny atd.
[set_of_characters]: Odpovídá libovolnému jednotlivému znaku v set_of_characters. Ve výchozím nastavení je shoda citlivá na případ.

formátovací řetězec java
    Example :    [abc] will match characters ab and c in any string.

10. [^set_of_characters] Negace:  

Odpovídá libovolnému jedinému znaku, který není v set_of_characters. Ve výchozím nastavení je shoda citlivá na případ.

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

11. [První-poslední] Rozsah postav:  

Odpovídá libovolnému jednotlivému znaku v rozsahu od prvního do posledního.

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

12. Symbol úniku () 

Pokud se chcete shodovat se skutečnými znaky „+“. To řekne počítači, aby zacházel s následujícím znakem jako s vyhledávacím znakem a zvážil jej pro odpovídající vzor.

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

13. Skupinovací znaky ()  

Sada různých symbolů regulárního výrazu může být seskupena dohromady tak, aby fungovala jako jedna jednotka a chová se jako blok, musíte zabalit regulární výraz v závorce ().

    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ální lišta (|)  

Odpovídá libovolnému prvku oddělenému znakem svislé tyče (|).

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

15. číslo 

Backreference: Umožňuje, aby byla dříve identifikována dříve odpovídající sub-exprese (exprese zachycená nebo uzavřená v kruhových konzolech) ve stejném regulárním výrazu. n znamená, že skupina uzavřená v n-té konzole se bude opakovat v současné poloze.

    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. Jak (?# Komentář) 

Inline komentář: Komentář končí při první závěrečné závorky.

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

17. # [na konec řádku] 

Komentář X-režimu. Komentář začíná na nezaslouženém # a pokračuje až do konce řádku.

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