正则表达式替换,反向引用替换字符sublime text 3

时间:2015-07-26 15:36:16

标签: regex sublimetext3

我有一个包含以下行的文件:

A 123
B 323

每行以AB开头,后跟空格和数字。

我正在尝试将其转换为

'C [a-z]*A 123'
每行

。我在查找和替换中使用正则表达式。正则表达式[AB] [0-9]*选择所有行没有问题。我尝试将其替换为未在替换字符串中打印'C [a-z]*$1'的{​​{1}},并返回:

$1

我错过了什么?

1 个答案:

答案 0 :(得分:2)

你的正则表达式 - [AB] [0-9]* - 没有圆括号(即如果你希望稍后在重复字符串中引用捕获的子字符,则没有必须存在的捕获组),因此,你没有获得预期的结果。

您可以使用

(?m)^[AB][ ]([0-9]{3})

或者,如果数字是可选的,请使用*量词,表示匹配前面的子模式定义的0个或更多字符

(?m)^[AB][ ]([0-9]*)

并替换为

'C [a-z]*$1'

请参阅demo