Javascript - regulárny výraz pre nájdenie slova v texte

Programovacie jazyky, rady, poradňa...
weroro
Flash coder
Flash coder
Používateľov profilový obrázok
Príspevky: 3206
Registrovaný: 14 feb 2009, 22:34
Bydlisko: Bratislava
Kontaktovať používateľa:

Javascript - regulárny výraz pre nájdenie slova v texte

Príspevok od používateľa weroro »

Ahoj,

snažím sa vytvoriť si regulár na vyhľadávanie slova v texte, napr.:

Kód: Vybrať všetko

var a = "weroro je uzivatel diskusneho fora hojko";

var slovo = 'uzivatel';

var regex = new RegExp("(^|\s)" + slovo + "(\s|$)");
if (regex.test(a))
{
     alert("nachádza sa");
} 
Má to však problém s viac slovnými spojeniami. Viete prosím navrhnúť riešenie? Ďakujem.
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Javascript - regulárny výraz pre nájdenie slova v texte

Príspevok od používateľa audiotrack »

prečo to riešiš regulárnymi a nie cez String.search() alebo String.indexOf() ?
weroro
Flash coder
Flash coder
Používateľov profilový obrázok
Príspevky: 3206
Registrovaný: 14 feb 2009, 22:34
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: Javascript - regulárny výraz pre nájdenie slova v texte

Príspevok od používateľa weroro »

Chcem zachovať spätnú kompatibilitu s IE8 a možno aj IE7. String.search() nejde v IE8 a so String.indexOf() môže byť problém pri zloženinách ako napr.
Ona mala veľa lások
vs.
unikol o vlások

Pričom budem hľadať slovo lások
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Javascript - regulárny výraz pre nájdenie slova v texte

Príspevok od používateľa audiotrack »

no tak si v tej premennej slovo zameň všetky medzery za \s a mohlo by to ísť
weroro
Flash coder
Flash coder
Používateľov profilový obrázok
Príspevky: 3206
Registrovaný: 14 feb 2009, 22:34
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: Javascript - regulárny výraz pre nájdenie slova v texte

Príspevok od používateľa weroro »

Už som asi prišiel na to prečo to robilo blbosti. Pokiaľ zadávam pravidlo ako string, tak to \s musím zapísať ako \\s. Už to funguje.
Napísať odpoveď