我有这样的东西:
<div class="wp-caption">
<a href="https://">
<img src="https://" alt="blabla">
</a>
</div>
我想把它换成
<figure>
<a href="https://">
<img src="https://" alt="blabla">
</a>
</figure>
我正在使用这样的正则表达式模式:
搜索 <div class="wp-caption">(.*)</div>
替换 <figure>(.*)</figure>
哪个工作正常,但当里面有换行符、空格、制表符或其他格式时,我怎么知道要忽略它?
我正在使用 Sublime Text..什么是使用 Perl 风格的表达式。
最佳答案
在 Perl 中这样使用怎么样?
s/<div class="wp-caption">(.*?)<\/div>/<figure>$1<\/figure>/sg
- 用
s///
进行正则替换操作 - 为避免贪婪匹配,使用
?
和.*
- 使用
(.*?)
捕获的字符串存储在变量$1 中。
正则表达式中的 /
可以使用\
(反斜杠)进行转义。s
选项表示忽略换行符的单行模式。g
选项表示全局匹配(处理所有匹配)。
关于正则表达式模式 - 忽略空格、换行符、制表符等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32567878/