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

Dotaz: regularni vyraz odstraneni textu

9.9.2011 19:04 rv
regularni vyraz odstraneni textu
Přečteno: 364×
Odpovědět | Admin
Ahoj, potrebuji z textu odstranit tucne zvyraznenou cast. Jak by se na to dal napsat regularni vyraz?
Ahoj_X_-_s01x20_Ahoj_svete
Ahoj_X_-_s04x03_Ubuntu

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

9.9.2011 19:26 misacek
Rozbalit Rozbalit vše Re: regularni vyraz odstraneni textu
Odpovědět | | Sbalit | Link | Blokovat | Admin
sed "s/\(x[0-9]*\)_.*/\1/"

Ale určitě přijde nějaký minimalista a vymyslí to ještě efektněji/efektivněji :-D
9.9.2011 19:50 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: regularni vyraz odstraneni textu
Odpovědět | | Sbalit | Link | Blokovat | Admin
s/^(Ahoj_X_-_s\d{2}x\d{2}_).*$/$1/
Pokud na místě 01, 20, 04 a 03 mohou být libovolné dvojice číslic.
16.9.2011 13:24 Mips
Rozbalit Rozbalit vše Re: regularni vyraz odstraneni textu
Odpovědět | | Sbalit | Link | Blokovat | Admin
s/^\(................\).*/\1/
16.9.2011 14:08 NN
Rozbalit Rozbalit vše Re: regularni vyraz odstraneni textu
sed 's:\(.\{15\}\).*:\2:'

:D

NN
16.9.2011 15:25 l4m4
Rozbalit Rozbalit vše Re: regularni vyraz odstraneni textu
cut -c16-
16.9.2011 15:26 l4m4
Rozbalit Rozbalit vše Re: regularni vyraz odstraneni textu
Oprava: cut -c-15, nevšiml jsem si, kterou část chce ponechat...
18.9.2011 19:16 happy barney | skóre: 34 | blog: dont_worry_be_happy
Rozbalit Rozbalit vše Re: regularni vyraz odstraneni textu
Odpovědět | | Sbalit | Link | Blokovat | Admin
pre lubovolny serial v tvare nazov-seriaepisoda (v perli):
s/(?<=\d\d[ex]\d\d).*$//i;

# s ponechanim pripony
s/(?<=\d\d[ex]\d\d).*(?=\.[^.*]$)//i;
23.9.2011 14:38 NeoV | skóre: 23
Rozbalit Rozbalit vše Re: regularni vyraz odstraneni textu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Hmm... Budem asi nejaky spomaleny... Ale

1. ziadnu "tucne zvyraznenu cast" v zadani nevidim.

2. vobec mi nie je jasne, co ma byt na vstupe a co na vystupe...

3. pre aky jazyk ma byt regex napisany (?)...

Ale asi je chyba niekde vo mne, lebo ako pzeram, tak ludia sem prispievaju svojimi vyplodmi jedna radost :-)
23.9.2011 14:49 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: regularni vyraz odstraneni textu
Stačí se podívat do zdroje :-)
<pre>Ahoj_X_-_s01x20_<b>Ahoj_svete</b>
Ahoj_X_-_s04x03_<b>Ubuntu</b></pre>
tedy:

Ahoj_X_-_s01x20_Ahoj_svete
Ahoj_X_-_s04x03_Ubuntu
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
23.9.2011 15:00 NeoV | skóre: 23
Rozbalit Rozbalit vše Re: regularni vyraz odstraneni textu
Ahaaa :-)

Diky... Tak to potom suhlasim s l4m4 - nato nie je potrebny ziaden regex (ak sa nemeni nazov serialu)... staci odseknut prvych N znakov a priradit do vydlenej premennej.

Prip. ak sa nazov serialu meni tak do vyslednej premennej priradit match #1 regexu:
/^(.*s\d+x\d+_)/
t.j. v Perle by to vyzeralo takto:
($text_line) = $text_line =~ /^(.*s\d+x\d+_/
Priradzovanie regex zhody do premennej je neporovnatelne rychlejsie nez substitucny regex.
pepe_ avatar 23.9.2011 15:29 pepe_ | skóre: 48
Rozbalit Rozbalit vše Re: regularni vyraz odstraneni textu
Příloha:

Tak to máš nějakej divnej prohlížeč ne ?

23.9.2011 16:32 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: regularni vyraz odstraneni textu
Asi na to hledí na běžně (ne)nastavených Widlích při 100 % a míň :-), tam není opravdu vidět ten bold (ve FF a Chrome, zas běžně (ne)nastavých) - aspoň u mě :-).
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†

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.