Rybka: -------------------------------------------------------------------------------- Nějakým způsobem jsem se prokousala tím, že je třeba rozepisovat jednotlivé možnosti velkých a malých textů včetně případů, kdy tam může a nemusí být tečka. Ale poslední věci na čem mám zásek je tento výraz: [b](?![^<]*>)(?<=[a-z]+)\s(?=s\.\sr\.\so\.)|(?![^<]*>)(?<=.*\ss\.)\s(?=r\.\so\.) |(?![^<]*>)(?<=.*\ss\.\sr\.)\s(?=o\.)[/b]
Živá ukázka (viz https://regexr.com/56qjf ) V PSPadu se to do konvertoru musí rozepsat na jednotlivé řádky, to je jasné, ale jakmile se to rozepíše, a spustí nahrazování, nahradí se pouze jedna mezera a další to vynechá, protože už další pravidla neplatí kvůli absenci bílé mezery, která je v tu chvíli nahrazena. Je nějaká možnost, jak tento regulár napsat jinak, aby hned v jednom výrazu našel všechny mezery, aby se to nemuselo rozepisovat na všechny možnosti (jestli počítam dobře, tak by se jinak muselo rozepsat 3×4 možností + další možnosti na velké a malé znaky)? Dokáže vůbec regulár najít více takto oddělených znaků? -------------------------------------------------------------------------------- Zdravim, musim priznat, ze konvertory v PSPadu moc nepouzivam, ale pokud spravne chapu zamer tehle konverzni upravy a u konvertoru neni vyuziti regulernich nejak odlisne od bezneho hledani a nahrazovani v dialogu, melo by byt mozne nahrazeni provest primo najednou pro "s.r.o." s variacemi v mezerach s tim, ze hledany i nahrazovany retezec bude primo obsahovat i pozadovana pismena a tecky. (nejenom mezery s podminkami na nasledujici pismena dotycne zkratky). Tenhle konverzni radek se stejne diky "lookarounds" jevi jako jednoucelovy, snad by slo hledane fraze najit a nahradit rovnou. (nevim, jestli muze byt problem velikost pismen - v beznem uzu to asi budou vzdy mala pismena, resp. vsechna velka pri uziti verzalek, pokud bude treba velikost pismen zachovat i v jinych kombinacich, asi bude treba je rozepsat jednotlive; tohle ale ve vychozim vyrazu zrejme zachyceno neni. Vyse uvedene omezeni na fixni delku nalezu se tyka "lookbehind assertion" - napr. (?<=...) - pokud obsahuji kvantifikatory * + , v dane knihovne regexp fungovat nebudou. Pokud by se konverzni radek nastavil primo na retezec (mimo "lookbehind"), takove omezeni by se ho netykalo. Zdravim, vbr -- <https://forum.pspad.com/read.php?1,73621,73789> PSPad freeware editor https://www.pspad.com
