前端之家收集整理的这篇文章主要介绍了
正则表达式 – 匹配标记之间的所有字符的正则表达式,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用崇高的文本2编辑器.我想使用正则表达式匹配所有h1
标签之间的所有字符.
到目前为止,我正在使用这样的
<h1>.+</h1>
它的工作正常,如果h1标签没有休息.
我的意思是
<h1>Hello this is a hedaer</h1>
它的工作很好.
但如果标签看起来像这样,它不起作用
<h1>
Hello this is a hedaer
</h1>
有人能用语法帮我吗?
默认 .匹配除新行字符之外的每个字符.
在这种情况下,您将需要DOTALL选项.匹配任何字符,包括新行字符. DOTALL选项可以内联指定为(?s).例如:
(?s)<h1>.+</h1>
但是,您将看到它将无法工作,因为量词的默认行为(在这种情况下)是贪心的,这意味着它将尽可能地消耗尽可能多的字符.你需要通过添加额外的懒惰(尽可能消耗尽可能少的字符)量词后?:
(?s)<h1>.+?</h1>
或者,正则表达式可以是< h1> [^] *< / h1> ;.在这种情况下,您不需要指定任何选项.