正则表达式模式 - 忽略空格、换行符、制表符等

标签 regex perl sublimetext2 sublimetext

我有这样的东西:

<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/

相关文章:

java - 为什么 Pattern.quote 总是返回带引号的字符串?

java - 正则表达式用空格替换部分字符串

javascript - 正则表达式匹配不在方括号内的括号

perl-selenium:如何使用自定义方法扩展 Test::WWW::Selenium 对象?

sublimetext2 - 如何为 TypeScript 配置 Sublime 构建系统

python - 为什么 "sys.argv"在 Sublime API 中不可用?

merge - 通过命令行将 Sublime 中的文件与 Sublimerge 合并

c# - 测试捕获的组是否在 C#.NET 的正则表达式中成功

windows - fork 时草莓 Perl 负子 pid

perl - 如何旋转和压缩 Log4perl 日志文件?