logo

Kurz Regex – Jak psát regulární výrazy?

Regulární výraz (regulární výraz) 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 speciálních znaků používaných v regulárních výrazech, jako jsou ., *, +, ? a další.
  2. Vyberte programovací jazyk nebo nástroj, který podporuje regulární výrazy, jako je Python, Perl nebo grep.
  3. Napište svůj vzor pomocí speciálních znaků a doslovných znaků.
  4. Použijte příslušnou funkci nebo metodu k vyhledání vzoru v řetězci.

Příklady:

  1. Chcete-li odpovídat posloupnosti doslovných znaků, jednoduše tyto znaky zapište do vzoru.
  2. Chcete-li porovnat jeden znak ze sady možností, použijte hranaté závorky, např. [0123456789] odpovídá libovolné číslici.
  3. Chcete-li odpovídat nule nebo více výskytům předchozího výrazu, použijte symbol hvězdičky (*).
  4. Chcete-li najít shodu 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 regulární výrazy mohou být složité a obtížně čitelné, proto se k ladění a optimalizaci vzorů doporučuje používat nástroje, jako jsou testery regulárních výrazů.

Regulární 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 při porovnávání řetězců, tj. hledání a nahrazování podobných operací. Regulární výrazy jsou zobecněným způsobem, jak porovnat vzory se sekvencemi znaků. Používá se ve všech programovacích jazycích jako C++, Java a Python.



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

Regex se používá v Google Analytics ve shodě URL při podpoře vyhledávání a nahrazení ve většině oblíbených editorů, jako je Sublime, Notepad++, Brackets, Dokumenty Google a Microsoft Word.

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

Výše uvedený regulární výraz lze použít pro kontrolu, zda daná sada znaků je e-mailová adresa či nikoli.

Jak psát regulární výrazy?

K zápisu regulárních výrazů se používají určité prvky, jak je uvedeno níže:



vyberte multi table sql

1. Opakovače ( *, + a { } )

Tyto symboly fungují jako opakovače a sdělují počítači, že předchozí znak má být použit více než jen jednou.

2. Symbol hvězdičky ( * )

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

  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ů) alespoň jednou nebo vícekrát (až do nekonečna).



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

4. Složené závorky { … }

Říká počítači, aby opakoval předchozí znak (nebo sadu znaků) tolikrát, kolikrát je hodnota v této závorce.

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

5. Zástupný znak ( .)

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

  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 stříšky ( ^ ). ( Nastavení pozice pro zápas)

Symbol stříšky říká počítači, že shoda musí začít 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í nastat na konci řetězce nebo před na konci řádku nebo řetězce.

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

9. Třídy postav

Třída znaků odpovídá libovolnému ze sady znaků. Používá se k přiřazení nejzákladnějších prvků jazyka, jako je písmeno, číslice, mezera, symbol atd.

s : odpovídá všem mezerám, jako je mezera a tabulátor.
S : odpovídá všem znakům, které nejsou prázdné.
d : odpovídá libovolnému číselnému znaku.
D: odpovídá všem nečíselným znakům.
V : odpovídá libovolnému znaku slova (v zásadě alfanumerické)
V : odpovídá libovolnému neslovnímu znaku.
 : odpovídá libovolné hranici slova (to by zahrnovalo mezery, pomlčky, čárky, středníky atd.
[množina_znaků]: Odpovídá libovolnému jednotlivému znaku v sadě_znaků. Ve výchozím nastavení se shoda rozlišuje velká a malá písmena.

arraylist seřazený java
  Example :   [abc] will match characters a,b and c in any string.>

10. [^set_of_characters] Negace:

Odpovídá každému jednotlivému znaku, který není v sadě_znaků. Ve výchozím nastavení se shoda rozlišuje velká a malá písmena.

  Example :   [^abc] will match any character except a,b,c .>

11. [první-poslední] Rozsah znaků:

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 chcete odpovídat skutečným znakům ‚+‘, ‚.‘ atd., přidejte před tento znak zpětné lomítko ( ). Tím počítači sdělíte, aby následující znak považoval za vyhledávací znak a považoval jej za odpovídající vzor.

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

13. Seskupování znaků ( )

Sadu různých symbolů regulárního výrazu lze seskupit tak, aby fungovaly jako jedna jednotka a chovaly se jako blok, k tomu musíte regulární výraz zabalit do závorek().

  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. Svislý pruh ( | )

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

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

15. číslo

Zpětná reference: umožňuje následně identifikovat dříve odpovídající dílčí výraz (výraz zachycený nebo uzavřený v kruhových závorkách) ve stejném regulárním výrazu. znamená, že skupina uzavřená v n-té závorce se bude opakovat na aktuální pozici.

  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ář )

Vložený komentář: Komentář končí v první závorce.

  Example :   A(?#This is an inline comment)w+>

17. # [do konce řádku]

Komentář v režimu X. Komentář začíná znakem # a pokračuje až do konce řádku.

  Example :   (?x)Aw+#Matches words starting with A>