Hledáte kvalitní a spolehlivý webhosting? Vyzkoušejte Český hosting.
Webhosting 1000 Kč/rok: 2GB, PHP 4 i 5, neom. subdomén a emailů, 10 databází

Odstranění zdvojených slov

Občas se nám při psaní může stát, že omylem zdvojíme nějaké slovo. Pomocí jednoduchého regulárního výrazu můžeme odstranit taková nežádoucí slova. Bohužel regulární výraz není natolik "inteligentní", aby poznal, že ve větě Seznamte se se všemi produkty! je dvojí výskyt slova se namístě. Sekvence \w označuje tzv. skupinu znaků slova. Znaky s českou diakritikou nejsou mezi tyto znaky často zařazovány (závisí na prostředí). V prostředí .NET vše funguje i pro slova s českou diakritikou.

  • RV \b(\w+)\b\s+\b\1\b
  • Náhrada $1
Ukázkový nahrazovaný text
Proč jsem sem sem jezdil.
Ukázkový výsledný text
Proč jsem sem jezdil.

Poznámky

  • Není-li uvedeno jinak, příklad je primárně určen pro prostředí .NET (a byl testován v programu Expresso), avšak protože se jedná o Perl-compatible regulární výraz, měl by fungovat i v Perlu, PHP a pravděpodobně i Javascriptu a všech programech, které využívají Perl-compatible regulární výrazy (např. PSPad, Homesite, Total Commander a mnoho dalších).
  • Formát zápisu zpětných referencí v uvedených příkladech (shodné s programem Expresso)
    • zpětná reference v rámci výrazu – \n, kde n je číslo subvýrazu
    • zpětná reference v náhradě – $n, kde n je číslo subvýrazu
  • Způsob zápisu (nejen zpětných referencí) se v různých prostředích může lišit – viz přehled vlastností regulárních výrazů v různých prostředích.
  • Pokud vám některý výraz plně nevyhovuje nebo nefunguje, přečtěte si relevantní články v sekci Jak na ně... nebo se zkuste zeptat v diskuzním fóru.