Jak hledat slova s diakritikou pomocí regulárních výrazů

před 7 lety napsal demo | tagy: PHP

Se standardními sekvencemi znaků si u slov s háčky a čárky nevystačíme…

UTF-8 znaky jsou v regulárních výrazech rozřazeny do skupin podle účelu (malá a velká písmena, čísla, spojovníky …) a lze je vyhledávat pomocí sekvence \p{xx} kde xx je klíč skupiny.

Vyhledat česká slova s velkým písmenem na začátku lze pomocí regexu např. takto:

$string = 'Červená jablka Šampion uzrála v Říčanech';
$pattern = '#\p{Lu}\p{Ll}+#u';
preg_match_all($pattern,$string,$matches);
print_r($matches);
// Array ( [0] => Array ( [0] => Červená [1] => Šampion [2] => Říčanech ) );

Sekvence unicode v PHP manuálu