我正在尝试执行以下操作:
捕获:
((.*) Common) \| (A, B, C)
替换为:
$1 | H, I, J $2
在sql文件上看起来像:
'varX Common | A, B, C', 'asdf', 'varY Common | A, B, C', 'sdfg', 'varZ Common | A, B, C', 'qwer'
我遇到的问题是,如果匹配只出现一次,则字符串捕获正常,但在显示上面提供的字符串时捕获的数量超过预期。
答案 0 :(得分:1)
尝试((.*?) Common) \| (A, B, C)
。
?
切换*
非贪婪。因此,它不会匹配尽可能多的文本,而是在第一场比赛时停止。
我假设,基于$1
,您在Perl,PHP等中使用PCRE变体。