[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: regexp with match over multiple lines
From: |
Andreas Röhler |
Subject: |
Re: regexp with match over multiple lines |
Date: |
Thu, 05 May 2011 19:28:16 +0200 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686; de; rv:1.9.2.17) Gecko/20110414 SUSE/3.1.10 Thunderbird/3.1.10 |
Am 05.05.2011 11:05, schrieb AngusC:
I want to remove all instances of<![CDATA[ ... ]]> data in a file. My
regexp works if the start and end tag is on the same line. But not if the
end tag is not on this same line. Is it possible to apply regex across
multiple lines.
My regex is:<\!\[CDATA\[.*\]\]> and that works if all on one line.
What can I do? Is this where lisp required?
Angus
Hi,
when dealing with expressions characterized by a start- and end
string, quite often a little function is convenient:
Below a simplified example:
(setq startstring "abc")
(setq endstring "def")
(defun my-start-end-delete ()
" "
(interactive "*")
(let (beg)
(while (search-forward startstring nil (quote move) 1)
(setq beg (match-beginning 0))
(when (search-forward endstring nil (quote move) 1)
(delete-region beg (match-end 0))))))
abcABCDEFdefAAAAAAAAAA -> AAAAAAAAAA
- Re: regexp with match over multiple lines, (continued)
- Re: regexp with match over multiple lines, AngusC, 2011/05/05
- Re: regexp with match over multiple lines, Deniz Dogan, 2011/05/05
- Re: regexp with match over multiple lines, AngusC, 2011/05/05
- Re: regexp with match over multiple lines, PJ Weisberg, 2011/05/05
- Re: regexp with match over multiple lines, Peter Dyballa, 2011/05/05
- Re: regexp with match over multiple lines, AngusC, 2011/05/06
- Re: regexp with match over multiple lines, Peter Dyballa, 2011/05/06
- Re: regexp with match over multiple lines, AngusC, 2011/05/06
- Re: regexp with match over multiple lines, Peter Dyballa, 2011/05/06
Re: regexp with match over multiple lines, ken, 2011/05/05
Re: regexp with match over multiple lines,
Andreas Röhler <=