REGEXP – Parser regulárních výrazů
Symbol blokuPotřebná licence: ADVANCED
Popis funkce
Blok REGEXP implementuje nejběžnější podmnožinu regulárních výrazů, jak je
známe například z příkazu regex v Perl nebo C#, či z příkazu grep známého z
příkazové řádky operačních systémů Unix.
Podporovaná syntaxe je následující:
- (?i) …Musí být na začátku regexu. Způsobuje porovnávání bez rozlišení velkých a malých písmen.
- ^ …Vyhledání začátku bufferu.
- $ …Vyhledání konce bufferu.
- () …Seskupování a zachytávání podřetězců.
- \s …Vyhledání bílého znaku.
- \S …Vyhledání znaku, který není bílý.
- \d …Vyhledání desetinné číslice.
- \n …Vyhledání znaku nového řádku.
- \r …Vyhledání znaku návratu vozíku.
- \f …Vyhledání znaku formátování stránky.
- \v …Vyhledání znaku vertikální tabulace.
- \t …Vyhledání znaku horizontální tabulace.
- \b …Vyhledání znaku backspace.
- + …Vyhledání jednou nebo vícekrát (chamtivě).
- +? …Vyhledání jednou nebo vícekrát (nechamtivě).
- …Vyhledání nula nebo vícekrát (chamtivě).
- ? …Vyhledání nula nebo vícekrát (nechamtivě).
- ? …Vyhledání nula nebo jednou (nechamtivě).
- x|y …Vyhledání x nebo y (operační alternativa).
- \meta …Vyhledání jednoho z metaznaků: ^$().[ ]*+?|\
- \xHH …Vyhledání bajtu s hexadecimální hodnotou 0xHH, např. \x4a.
- [...] …Vyhledání jakéhokoli znaku ze sady. Jsou podporovány rozsahy jako [a-z].
- [^...] …Vyhledání jakéhokoli znaku kromě těch ve sadě. Jsou podporovány rozsahy jako [a-z].
Příklady
- [0-9]+ …Najde první celé číslo ve vstupním řetězci (a vloží jej do výstupu cap).
- [-+]?[0-9]*\.[0-9]+([eE][-+]?[0-9]+)? …Najde první reálné číslo ve vstupním řetězci (a vloží jej do výstupu cap).
- ^\s*(.*?)\s*$ …Vloží ořezaný vstupní řetězec do výstupu cap1.
- num\s*:\s*([0-9]*\.[0-9]*) …Očekává vstupní řetězec ve formátu JSON; najde parametr num, a jeho hodnotu vloží do výstupu cap1.
Tento blok nepropaguje kvalitu signálu. Více informací je uvedeno v sekci 1.4.
Vstup
text | Text k rozpoznání | String |
RUN | Povolení běhu algoritmu | Bool |
Parametr
expr | Regulární výraz k rozpoznání | String |
nmax | Rezervovaná paměť pro řetězec 0 65534 | Long (I32) |
bufmax | Velikost intrní pracovní paměti (0 = automaticky) 0 10000000 | Long (I32) |
Výstup
MATCH | Příznak rozpoznání | Bool |
cap | Rozpoznaný text | String |
cap1..cap8 | Rozpoznaný text | String |
[Předchozí] [Na začátek] [Výše] [Další]
2024 © REX Controls s.r.o., www.rexygen.com