仅替换完整字符串的一部分

时间:2019-02-14 08:22:18

标签: regex replace pattern-matching

我正在使用正则表达式在文件中搜索模式(html,无关紧要)。我正在使用的正则表达式是:

.?.([0-9])

这将捕获以下形式的字符串:

> 47.

但是,我不想替换整个字符串。我只想替换“>”部分,而忽略该数字。我该如何实现?

感谢您的帮助!。

1 个答案:

答案 0 :(得分:1)

尝试此正则表达式:

>\s*(\d+\.)(?!\d+)

将每个比赛替换为第1组的内容

Click for Demo

说明:

  • >\s*-匹配>,后跟0+空格
  • (\d+\.)-匹配1+位数字,后跟.。这是在第1组中捕获的。
  • (?!\d+)-前瞻性否定,以确保当前匹配项不会立即跟着1个以上的数字。

将每个匹配项替换为第1组的内容。

替代解决方案:>\s*(?=\d+\.(?!\d+))