Portál AbcLinuxu, 13. května 2025 20:13

Dotaz: vyhledání dvou slov regulárním výrazem

11.9.2008 16:49 Ladislav Nešněra | skóre: 30 | blog: ..+2
vyhledání dvou slov regulárním výrazem
Přečteno: 358×
Odpovědět | Admin
Potřebuji zjistit, zda text obsahuje současný výskyt dvou slov bez ohledu na pořadí a opakování. Předpokládám, že to bude něco velmi jednoduchého, ale pořád mi něco uniká a nemohu se zbavit tendence hledat něco jako & či && :-(
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

11.9.2008 17:06 chochi | skóre: 29 | Praha
Rozbalit Rozbalit vše Re: vyhledání dvou slov regulárním výrazem
Odpovědět | | Sbalit | Link | Blokovat | Admin
To dost zalezi na tech slovech. Pokud te nazajimaji kombinace kde jedno slovo je soucasti druheho, jako napr:
slovo1 = efgh
slovo2 = ghij
veta = abcdefghijklmno
Kde se da rict ze ve vete jsou obe slovo, tak pak je reseni:
(.*slovo1.*slovo2.*)|(.*slovo2.*slovo1.*)
Jinak to nelze rict dopredu.
11.9.2008 18:05 Ladislav Nešněra | skóre: 30 | blog: ..+2
Rozbalit Rozbalit vše Re: vyhledání dvou slov regulárním výrazem
Nad něčím takovým jsem přemýšlel, ale zdálo se mi, že to je moc komplikované (obzvlášť, pokud by se hledal společný výskyt více než 2 slov), tak jsem ten směr zavrhl, neb příklady regulárních výrazů, na které jsem narazil, mě zaujaly právě úsporností kódu. Každopádně to funguje. Díky :-)
Tarmaq avatar 11.9.2008 19:15 Tarmaq | skóre: 39
Rozbalit Rozbalit vše Re: vyhledání dvou slov regulárním výrazem
nevim za jakym ucelem to potrebujete, ale nestacilo by neco jako toto?
cat testicek

raz dva tri ctyri
dva tri raz pet
sedm raz dva
osm sedm sest
dva tri pet
raz tri dva

cat testicek | grep tri | grep dva

raz dva tri ctyri
dva tri raz pet
dva tri pet
raz tri dva
pri vice slovech by to bylo
cat testicek | grep tri | grep dva | grep pet

dva tri raz pet
dva tri pet
Don't panic!
11.9.2008 20:56 Ladislav Nešněra | skóre: 30 | blog: ..+2
Rozbalit Rozbalit vše Re: vyhledání dvou slov regulárním výrazem
v mém kontextu se to použít nedá, ale rozhodně inspirativní. Díky
Tarmaq avatar 11.9.2008 22:29 Tarmaq | skóre: 39
Rozbalit Rozbalit vše Re: vyhledání dvou slov regulárním výrazem
a v jakem jazyku to pisete? nedal by se pouzit nejaky for cyklus pro nejake pole a v kazdem cyklu by se smazaly ty radky ktere by danemu regularnimu vyrazu/slovu neodpovidaly..
Don't panic!
12.9.2008 13:28 Ladislav Nešněra | skóre: 30 | blog: ..+2
Rozbalit Rozbalit vše Re: vyhledání dvou slov regulárním výrazem
tady se o programování mluvit nedá. Je to GUI, které jako dotaz povoluje regulární výraz => moc si tam vyskakovat nemohu :-(
12.9.2008 02:41 luky
Rozbalit Rozbalit vše Re: vyhledání dvou slov regulárním výrazem
Odpovědět | | Sbalit | Link | Blokovat | Admin
Bylo by vhodne uvest, jak/kde ten vyraz chcete pouzit. Jinak &/&& ve smyslu 'a zaroven' vetsinou neni mozny. Musite popsat vsechny kombinace pomoci |, nebo postupne testovat nekolik jednoduchych vyrazu.
12.9.2008 06:56 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: vyhledání dvou slov regulárním výrazem
jojo. je to casto propirane tema. nejjednodussi je neco ve stylu if /slovo1/ && /slovo2/.
In Ada the typical infinite loop would normally be terminated by detonation.
12.9.2008 13:34 Ladislav Nešněra | skóre: 30 | blog: ..+2
Rozbalit Rozbalit vše Re: vyhledání dvou slov regulárním výrazem
škoda, že to nejde, ale asi pro to byl nějaký dobrý důvod. I tak mi to přijde jako vymazlený nástroj :-)
pavlix avatar 13.9.2008 02:33 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: vyhledání dvou slov regulárním výrazem
Pokud neumí "and" tak mi moc vymazlený nepřijde.
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
13.9.2008 09:40 luky
Rozbalit Rozbalit vše Re: vyhledání dvou slov regulárním výrazem
Pak nevite k cemu to je :-)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.