【问题标题】:Regex to remove/replace characters before and after string in Notepad++正则表达式在记事本++中删除/替换字符串之前和之后的字符
【发布时间】:2013-10-02 18:26:39
【问题描述】:

我想做这种大规模替换:

发件人:

[tab=TEXT TO KEEP]

收件人:

[b]TEXT TO KEEP[/b]

它可以实现吗?如果太复杂,即使没有[B][/B] 标签我也会很高兴。

请注意[tab=TEXT TO KEEP] 包含在文本块中,因此“搜索”需要从[tab= 开始,在第一个] 停止。

我尝试了一个多小时搜索教程,但找不到正确的正则表达式。非常感谢任何可以帮助我的人!

【问题讨论】:

  • 有很多下划线可以用空格代替吗?
  • 不抱歉,这只是一个错字。我的意思是 [tab= ] 中的文本是可变的。我会改正错字。

标签: regex replace notepad++


【解决方案1】:

你可以用 Notepad++ 的正则表达式 Search&Replace 尝试以下操作:

\[tab=([^\]]+)\]

替换为:

[b]$1[/b]

([^\]]+) 是一个捕获组,将匹配除右方括号之外的任何字符。捕获的部分存储在第一个变量中,因为它是第一个捕获组,因此 $1

【讨论】:

  • 在我的 Notepad++ (5.9.3) 版本中,我必须使用 \1 作为对捕获组的引用。所以,替换为[b]\1[/b]
  • @amitparikh 是的,这取决于替换变量的版本。虽然 v6.X 已经发布并广泛使用,但您提到它是对的。
猜你喜欢
  • 1970-01-01
  • 2016-04-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-06-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多