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

Regular expression replace, back referencing replaced characters sublime text 3

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

A 123
B 323

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

我正在尝试将其转换为

'C [a-z]*A 123'

每行。我在查找和替换中使用正则表达式。正则表达式 [AB] [0-9]* 可以毫无问题地选择所有行。我正在尝试用 'C [a-z]*' 替换它,它不会在替换的字符串中打印 </code> 和 returns:</p> <pre><code>'C [a-z]*'

我错过了什么?

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

您可以使用

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

或者,如果数字是可选的,则使用 * 量词,这意味着 匹配 0 个或多个字符,如前面的子模式所定义的那样

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

并替换为

'C [a-z]*'

demo