我在以下布局中有一些代码,我使用textcrawler来执行查找和替换
<a>
Name=LineA
epsium
ask
answer
line=10
color=red
</a>
<a>
Name=LineB
Color=Blue
</a>
...
现在的问题是我需要使用的正则表达式,以便删除<a> and </a>
之间的第二个代码块
答案 0 :(得分:1)
<a>(\s*?Name\=LineB[\S\s]*?)</a>
它捕获以文本<a></a>
开头的Name=LineB
标记之间的所有文字。
答案 1 :(得分:1)
在Perl中,我会这样做:
$str =~ s~^(.*?<a>.*?</a>.*?)<a>.*?</a>(.*)$~${1}New text$2~s;
第一组包含第二个区块<a></a>
之前的所有内容,第二组包含之后的所有内容。
在php中:
$str = preg_replace('~^(.*?<a>.*?</a>.*?)<a>.*?</a>(.*)$~', "${1}New text$2", $str);
答案 2 :(得分:0)
preg_replace("/<body>([\s\S]*.*)<\/body>/",$replace,$origional);
这将取代身体标签之间的整个内容。