正则表达式 - 返回重叠匹配

时间:2013-08-08 15:12:35

标签: regex overlap

如何更改此正则表达式:

(`)([^`]+)`|(\*)([^*]+)\*

给出这样的输出:

` | hel*low
* | low`orld
* | hello
` | world

传递时:

"`hel*low`orld* *hello* `world`"

http://regex101.com/r/aV5bG0

1 个答案:

答案 0 :(得分:2)

您可以使用此模式:

(?=([`*])((?>[^`*\W]++|(?!\1)[`*])+)\1)

或这种模式:

(?=([`*])((?:[^`*\W]+|(?!\1)[`*])+)\1)