StrExpression regex

Z Wiki
Verze z 28. 8. 2025, 17:38, kterou vytvořil VasicaJ (diskuse | příspěvky)
(rozdíl) ← Starší verze | zobrazit aktuální verzi (rozdíl) | Novější verze → (rozdíl)
Přejít na: navigace, hledání

Práce s regex v příkazu StrExpression má určitá specifika.

Vychází ze standardní C++ knihovny, viz. https://en.cppreference.com/w/cpp/regex.html


1. Escape sekvence

1.1. "\r" a "\n" sekvence

Pokud si přejeme v regex výrazu použít escape sekvence pro carriage return a line feed, je třeba použít dvojité zpětné lomítko takto:

\\r

\\n

2. Další specifika

\s nezahrnuje znaky pro konec řádku

. zahrnuje i znaky pro konec řádku (tzv. "DOTALL", nebo "single line" flag)

Error: 125: Invalid expression příkazu StrExpression nemusí nutně znamenat, že máme chybu v samotném výrazu. Chyba se může ukázat i v případě, kdy používáme zachytávací skupiny (capture groups), zatímco jsme v textu nenalezli hledaný řetězec. Jedná se o technické omezení na výstupu příkazu, ale nejde o bug. Pro zamezení nechtěného pádu testu vložte příkaz StrExpression do příkazu Try, nebo nejprve hledaný řetězec vyhledejte bez zachytávací skupiny a potom, za pomocí příkazu If, přistupte k samotnému získání řetězce v prohledávaném textu.