正则表达式在<div class =“customclass”>和</div>标记之间查找并替换

时间:2014-09-23 21:30:46

标签: regex

我找不到任何正常工作的正则表达式来查找和替换div标签之间的文本

所以我需要在这个html中选择<div class="info"></div>标记之间的所有内容,并将其替换为其他文本

<div class="extraUserInfo">
        <p>Hello World! This is a sample text</p>
        <javascript>.......blah blah blah etc etc
</div>

并将其替换为

My custom text with some codes
<tags> asdasd asdasdasdasdasd</tags>

所以它看起来像

<div class="extraUserInfo">
        My custom text with some codes
<tags> asdasd asdasdasdasdasd</tags>
</div>

这里是我的所有代码都在那里的重新组合,你可以看到我想替换和标签之间的一大堆代码

http://refiddle.com/1h6j

希望你明白我的意思:)。

1 个答案:

答案 0 :(得分:4)

如果没有嵌套,只会做一个简单的匹配non-greedy (lazy)

(?s)<div class="extraUserInfo">.*?</div>
  • .*?匹配任何数量的任何字符(尽可能少)以满足</div>
  • 使用s modifier来使点匹配换行符。

修改:这是一个没有修改器的Javascript版本

/<div class="extraUserInfo">[\s\S]*?<\/div>/g

并替换为新内容:

<div class="extraUserInfo">My custom...</div>

example at regex101; Regex FAQ