【发布时间】:2019-09-06 03:46:44
【问题描述】:
我有一个字符串{{m|gem-pro|*karzijan?||to turn}},当一个字符串以{{m 开头并以}} 结尾时,我想用() 将to turn 包围在}} 之前的括号字符串
字符串:
{{m|gem-pro|*karzijan?||to turn}}
必需的字符串:
{{m|gem-pro|*karzijan?||(to turn)}}
字符串不仅可以是to turn,还可以是任何字符串。
【问题讨论】:
-
试试
({{m(?:\|[^\|]+)*\|\|)([^}]+}})regex101.com/r/nBRZeq/1 -
@Thefourthbird 它目前返回
(to turn}})而不是(to turn)}}。 -
@IldarAkhmetov 查看此更新
({{m(?:\|[^\|]+)*\|\|)([^}]+)(?=}})regex101.com/r/nBRZeq/2 -
@Thefourthbird 这是一个比我更聪明的解决方案,因为它只有
\1、\2和替换模式中的括号。