匹配字符串与最后一部分不同

时间:2016-05-26 10:46:27

标签: php regex

我有以下正则表达式:

/{{trans-template-id:(\d)+}}/i

它完全匹配{{trans-template-id:7}}

但是,我想修改它以便它也匹配{{trans-template-hash:asdf1234}}。我该如何修改它?

我已经走到了这一步,但我似乎并不了解正则表达式:

/{{trans-template-(id:(\d)+|hash:[a-zA-Z0-9]+)}}/i

1 个答案:

答案 0 :(得分:2)

如果您想创建一个公共组,可以使用

{{trans-template-(id|hash):((?<=id:)\d+|(?<=hash:)\w+)}}

<强> Regex Demo

您也可以使用 分支重置 ,例如

{{trans-template-(?|id:(\d+)|hash:(\w+))}}

<强> Regex Demo