» Poradna » Web a internet

Jak sestavit regulární výraz pro vyhledání slova v určitém textu?

 |   |  Microsoft Windows XP Opera 9.80

Když potřebuju vyhledat na disku txt soubory, ve kterých se nachází někde mezi slovy "odstavec 1" a "odstavec 2" slovo "jablko", jak bude vypadat regulární výraz?Díky.

Odpovědi na otázku

 |   |  Microsoft Windows 7 Opera 9.80

odstavec 1.*jablko.*odstavec2Ale záleží kde a jak ten regulérní výraz budeš spouštět. Je nutné mu nastavit parametr, který ho přepne do "singleline" režimu, kdy celý soubor bude brát jako celek. Běžně totiž ta tečka "." nebere konce řádku \n a vyhledává to po jednotlivých řádcích. Ale ty musíš nastavit aby i ta tečka brala znak \n (tj konec řádku) jako normální znak a vyhledávalo se to v celém souboru.Bohužel to jak tam ten parametr nastavit nelze říci, záleží v čem a jak ten regulární výraz používáš.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows XP Firefox 20.0

Nargon: Dotaz nedává smysl, protože je to jen volné pokračování tohotohttp://www.zive.cz/poradna/podrobne-vyhledav...

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows XP Firefox 20.0

TC není špatná volba, ale "regulární výrazy" zde mají trochu jiný význam, viz Nápověda.Vyzkoušej Agent Ransack, v řádku Containing text mělo by stačit zadat"odstavec 1" AND slovo AND "odstavec 2"Rozlišování velikosti písmen zapneš/vypneš ikonou Aa, v Look in zvolíš adresář, popř. včetně podadresářů.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows XP Opera 9.80

To funguje tak na půl, problém je v tom že mi vyjede i ty soubory, u kterejch se to "jablko" nachází mimo danej text. Tedy všechny ty tři slova tam jsou, ale já potřebuju, aby to slovo "jablko" bylo přesně mezi, a to zatím nefunguje.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows XP Opera 9.80

Nicméně zatím asi nejlepší rada, posunul jsem se kupředu :)

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Linux Firefox 20.0
 |   |  Microsoft Windows 8 Chrome 26.0.1410.64

Na to ti jeden regulární výraz stačit nebude. Začal bych třeba takto:find / -type f -name "*.txt" pak to poslal na awk, aby to poslalo dál jen text mezi slovy odstavec 1 a odstavec 2 (nebo si najít na kterých řádcích jsou ona slova a vhodně využít tail +-X|head -X), pak třeba pomocí tr zaměnit '\n' za mezeru a grepem vyhledat jablko. Přepínač -l tj. grep -l umožňuje grepu "lézt" rovnou do souborů, problém je, že pouze kontroluje výskyt na řádku.

Souhlasím  |  Nesouhlasím  |  Odpovědět

Související témata: Regulární výraz, Vyhledání




Určitě si přečtěte

Čtyřicet procent je moc. Spalovací motory nedokážou splnit požadavek EU na snížení emisí

Čtyřicet procent je moc. Spalovací motory nedokážou splnit požadavek EU na snížení emisí

** EP nařídil automobilkám snížit o 40 % emise CO2 ** EU chce zvýšit podíl elektromobilů ** Výrobci hrozí ztrátou pracovních míst

Karel Kilián | 231

Porno insider: Jak virtuální realita vstupuje do filmů pro dospělé

Porno insider: Jak virtuální realita vstupuje do filmů pro dospělé

** Pornografie údajně představuje třetinu internetové obsahu a je technologický tahounem ** Do erotického obsahu postupně zasahuje i virtuální realita ** Kromě vizuálního vjemu se pracuje také na virtuálním uspokojení toho hmatového

Jan Dudek | 31

Kde se bere elektřina v zásuvce? Poznejte 10 tajemství venkovních stožárů s dráty

Kde se bere elektřina v zásuvce? Poznejte 10 tajemství venkovních stožárů s dráty

Elektřina se vyrábí v elektrárnách, ale do zásuvek v našich domovech to pak má ještě hodně daleko. Dnes se na tuhle dlouhou cestu podíváme.

David Polesný | 85

Užitečné funkce ve Windows 10, o kterých možná ani nevíte

Užitečné funkce ve Windows 10, o kterých možná ani nevíte

** Operační systém Windows 10 nabízí spoustu užitečných drobností ** O některých funkcích mnoho uživatelů není ** Ukážeme vám některé užitečné vychytávky

Vladislav Kluska | 82


Aktuální číslo časopisu Computer

Odhalte skryté funkce Windows 10

Test levných Androidů do 4 000 Kč

Srovnání úsporných minipočítačů

Změřili jsme rychlost 10Gb/s ethernetu