我有一个包含以下行的文件:
A 123
B 323
每行以A
或B
开头,后跟空格和数字。
我正在尝试将其转换为
'C [a-z]*A 123'
每行。我在查找和替换中使用正则表达式。正则表达式[AB] [0-9]*
选择所有行没有问题。我尝试将其替换为未在替换字符串中打印'C [a-z]*$1'
的{{1}},并返回:
$1
我错过了什么?
答案 0 :(得分:2)
你的正则表达式 - [AB] [0-9]*
- 没有圆括号(即如果你希望稍后在重复字符串中引用捕获的子字符,则没有必须存在的捕获组),因此,你没有获得预期的结果。
您可以使用
(?m)^[AB][ ]([0-9]{3})
或者,如果数字是可选的,请使用*
量词,表示匹配前面的子模式定义的0个或更多字符
(?m)^[AB][ ]([0-9]*)
并替换为
'C [a-z]*$1'
请参阅demo