保留Sublime文本中查找替换中的文本

时间:2016-03-24 12:53:25

标签: regex notepad++ sublimetext3 wildcard boost-regex

我有以下字符串

  • 5V6A 6Q2A 6Q 5Q
  • FA 7A EQ2A 799Q
  • M Y77A279791
  • V59 2 5A266
  • Q7Q E7Q 7 7AQ2A 7A29

我在查找选项中使用以下内容识别它们

\w.+\d.+(\w+( |$))+

我的问题是我想用相同的替换它,但之后添加一个“@”符号。我想在Sublime Text / Notepad ++中使用find-replace。我希望保留我找到的内容,替换为相同内容,但最后使用“@”。所以最后,我希望在更换后如下。

  • 5V6A 6Q2A 6Q 5Q @
  • FA 7A EQ2A 799Q @
  • M Y77A279791 @
  • V59 2 5A266 @
  • Q7Q E7Q 7 7AQ2A 7A29 @

请帮助替换。

我希望在

中找到它们的数据示例
5V6A 6Q2A 6Q 5Q
Ms.Elena O Peery
Abell (Baltimore)
$Six Million  One Hundred Thirty Thousand Seven Hundred Thirty Nine AND Twenty Six%
Twenty Nine Years AND Seven.One%
(Purchase Value Reduction 16.47%)
(Monthly Principal Reduction 7.59%)
(Total Interest Reduction 17.81%) 
Mr. Guy L Pittman   
E97 99A2A 7Q 9A2999Q

 Q5A2A5 6 6A 5 767Q 
 Mrs.Margaret E No Lents
 Juction(Portland) 
 $Seven Million Nine Hundred Eighty Six Thousand Three Hundred Twenty Three     AND Seventeen%
 Seventeen Years AND Seven.Eight%
(Purchase Value Reduction 2018%)
(Monthly Principal Reduction 1036%)
(Total Interest Reduction 14.87%) 
Ms.Edna R Messerly 
7A2YA2AQ27A 7A27AQ2

3 个答案:

答案 0 :(得分:0)

在Sublime Text中,在find框中尝试此$1 @,并在replace $account框中进行此操作。

答案 1 :(得分:0)

只需将其作为答案来标记问题即可解决。

我仍然无法获得构成正则表达式的标准,但如果你的正则表达式工作正常,那么在notepad ++中搜索(\w.+\d.+(\w+( |$))+)并替换为\1 @

答案 2 :(得分:0)

在您的示例中,以下“条件”可能有所帮助:

^((?>\h?(?>[A-Z0-9]+)\h?)+)$
# ^ and $ - bind to beginning and end of the line in multiline mode
# the rest matches uppercase letters and digits 
# plus an optional whitespace at the beginning / end of the line
# ... and puts them in atomic groups

查看example on regex101.com