我想从给定字符串中选择一个组,并在该组的第5位插入一个字符。
输入字符串:xxx123456789yyy
表达式:^x{3}(?<serialno>\d{5}\d{4})y{3}$
输出(serialno):123456789
现在我希望serialno组包含一个介于5和6之间的'A',这样我就得到'12345A6789'而不是123456789'。角色总是'A',我想在一个正则表达式中执行此操作。 是否可以通过匹配执行此操作,还是必须调用匹配并替换?
答案 0 :(得分:0)
您无法使用匹配项更改字符串,因此您需要使用preg_replace
:
$output = preg_replace('/^x{3}(\d{5})(\d{4})y{3}$/', '$1A$2', $input);