Posted By: snake (:q!) on 'CZprogram' Title: Re: Regularni vyrazy podruhe Date: Tue Jun 5 03:36:42 2007 > Uz se v tom rejpu pres hodinu a pul a zaboha nemuzu prijit na vyraz, ktery > z hledani vylouci ty escape sekvence. Vim, ze problem je v nahrazeni . v > tom vyrazu za jiny vyraz, ktery rekne > alespon 'jakykoli znak krome dvojice znaku "' > nebo (lepe) 'jakykoli znak krome znaku predchazenych zpetnym lomitkem' > Zkusil jsem > ("(.|")*?") poznamka mimo: pozor, ta prvni tecka pozere cokoli, cast za | se nikdy neaplikuje... No, nejsem si uplne jisty, jestli jsem pochopil spravne, co pozadujes (a navic, jak uz napsal jaydee, nepises ani, pro co ty regexpy chces), zkusim proto napsat jen obecny hint a budu pritom predpokladat, ze Ti jde o nasledujici: nejdriv uvozovky, pak nejaky text, pak uvozovky pricemz: pokud text uprostred obsahuje escape, maji se uvozovky (ci jakykoli jiny znak) za nim ignorovat Pak staci IMHO proste jen vybudovat jednotlive varianty, co muze text obsahovat, a dat za ne hvezdicku apod. A to vybudovani variant bude neco jako - jakykoli znak krome escape - escape a za nim jeste jeden (jakykoli) znak) To prvni vytvoris pomoci [^] notace to druhe pomoci bezne konkatenace a oboje spojis operatorem "nebo", vsechno spravne ouzavorkujes (aby se operatory nebo ci hvezdicka aplikovaly na to, co skutecne chces) a pripadne pouzijes modifikatory vyhledavani, aby to zralo i entery apod... Jestli jde o perl a escapem ma byt backslash, bude to neco jako bash-3.1$: perl -ne 'print if /"([^\]|(\.))*"/' ktere sezere "a", "ab" i "a"b", ale nikoli "a" Je to to, co hledas? snake