$request:charset[UTF-8] $response:charset[UTF-8] $response:content-type[ $.value[text/html] $.charset[$response:charset] ]

Caseless search

$str[ПроВерКа] ^$str: $str
^^str.match[вер][i]{ГУЛ}: ^str.match[вер][i]{ГУЛ}

Absolute references

^$str: $str
^taint[^^str.match[^^^^.*(р)(.+?)\1.*^^^$][]{^$match.2}]: ^str.match[^^.*(р)(.+?)\g1.*^$][]{$match.2}

Relative references

^$str: $str
^taint[^^str.match[^^^^.*(р)(.+?)(?-2).*^^^$][]{^$match.2}]: ^str.match[^^.*(р)(.+?)(?-2).*^$][]{$match.2}

Named subpatterns in back references

^$str: $str
^taint[^^str.match[^^^^.*(?р)(.+?)\k{ZIGI}.*^^^$][]{^$match.2}]: ^str.match[^^.*(?р)(.+?)\k{ZIGI}.*^$][]{$match.2}

Conditional patterns

$str1[29-Sep-2008] ^$str1: $str1
^taint[^^str1.match[^^^^.*?(?(?=[^^^^a-z]*[a-z])\d{2}-([a-z]{3})-\d{4}|\d{2}-(\d{2})-\d{4}).*?^^^$][i]{=^$match.1=^$match.2=}]: ^str1.match[^^.*?(?(?=[^^a-z]*[a-z])\d{2}-([a-z]{3})-\d{4}|\d{2}-(\d{2})-\d{4}).*?^$][i]{=$match.1=$match.2=}
$str1[29-09-2008] ^$str1: $str1
^taint[^^str1.match[^^^^.*?(?(?=[^^^^a-z]*[a-z])\d{2}-([a-z]{3})-\d{4}|\d{2}-(\d{2})-\d{4}).*?^^^$][i]{=^$match.1=^$match.2=}]: ^str1.match[^^.*?(?(?=[^^a-z]*[a-z])\d{2}-([a-z]{3})-\d{4}|\d{2}-(\d{2})-\d{4}).*?^$][i]{=$match.1=$match.2=}

Ungreedy search

^$str: $str
^^str.match[^^^^\pL+][]{!}: ^str.match[^^\pL+][]{!}
^^str.match[^^^^\pL+][U]{!}: ^str.match[^^\pL+][U]{!}

Recursive patterns

$str[(ab(cd(ef)gh)ij)] ^$str: $str
^^str.match[\((((?>[^^^^()]+)|(?R))*)\)][g]{^$match.1}: ^str.match[\((((?>[^^()]+)|(?R))*)\)][g]{$match.1}

Working with UTF-8 international letters

$str[П1р2о3В4е5р6К7а] ^$str: $str
^$t[^^str.match[(.)][g]]
^^t.menu{'^$t.1'}[, ]: $t[^str.match[(.)][g]] ^t.menu{'$t.1'}[, ]

Working with unicode properties

"In UTF-8 mode, characters with values greater than 128 never match \d, \s, or \w, and always match \D, \S, and \W. This is true even when Unicode character property support is available. These sequences retain their original meanings from before UTF-8 support was available, mainly for efficiency reasons."

$str[ПроВерКа-12345 67890 !#% αβγδεζηθικλμνξοπ_] ^$str: $str
$t[^table::create{sRegEx sOptions sComment (\w) g (\W) g (\d) g (\D) g (\p{Nd}) g Must be used in UTF-8 instead of \d (\pL) g Must be used in UTF-8 for searching letters (\p{Cyrillic}) g (\p{Greek}) g ([\pL\p{Nd}_]) g Can be used in UTF-8 mode instead of \w ([^^\pL\p{Nd}_]) g Can be used in UTF-8 mode instead of \W ([a-zа-я0-9_]) gi }] ^t.menu{ }
^taint[^^str.match[$t.sRegEx][$t.sOptions]{^$match.1}] ^str.match[$t.sRegEx][$t.sOptions]{$match.1} $t.sComment