Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Jak na regulární výrazy v Pspadu

Ahoj chlapy. Potřeboval bych poradit s regulerníma výrazema v pspadu. Mám vždy nějaké záchytný bod

<style??????>
<class??????>

a potřebuji tohle všechno nahradit, místo otazníků může být cokoliv včetně mezer lomítek, čísel speciálních znaků atd...
Už se s tím trápim 2 hodiny ale vůbec to nechápu, ví prosím někdo?
Zkoušel jsem to nějak takto

<style^\w$>

+ asi dalších 50 možností :(
Změna předmětu, původně: Jak na regulerní výrazi v Pspadu (JaFi)

Předmět Autor Datum
Nemám PSPad po ruke, ale regulárny výraz by mal vyzerať takto - bodka znamená ľubovoľný znak, hviezd…
los 30.03.2017 06:44
los
a) je správně. PSPad používá PERL syntaxi Navíc to budu muset rozdělit do skupin, protože chci, aby… poslední
Jan Fiala 30.03.2017 06:49
Jan Fiala

Nemám PSPad po ruke, ale regulárny výraz by mal vyzerať takto - bodka znamená ľubovoľný znak, hviezdička je, že ľubovoľný počet krát, otáznik vypína nenásytný mód, takže sa zastaví pri prvej príležitosti, keď uvidí pravú ostrú zátvorku:

<style.*?>

Prípadne - hranaté zátvorky označujú skupinu znakov, ktoré sa tam môžu nachádzať; keď je prvým znakom strieška (^), znamená to, že tie znaky sa tam práveže nachádzať nesmú - takže tam dáme všetko okrem pravej ostrej zátvorky, ľubovoľný počet krát a končí to pravou ostrou zátvorkou:

<style[^>]*>

a) je správně. PSPad používá PERL syntaxi
Navíc to budu muset rozdělit do skupin, protože chci, aby mi začátek zůstal a budu měnit prostředek
Hledat: (<style)(.*?)(>)
Nahradit: $1muj vlastni obsah$3
[x]Regularni vyrazy

. je cokoliv, * je libovolný počet znaků a ? je tam jako přepínač pro non greedy výraz. Jinak by vzal vše až k poslední ">" a to by nebylo správně, protože tagů může být na řádku víc
Kulaté závorky určují skupiny pro substituce a vlastní substituce je pak určena pomocí $n

Zpět do poradny Odpovědět na původní otázku Nahoru