我想在JavaScript中编写一个正则表达式,无条件地WRT重复模式中可选子字符串的存在(或不存在)。 (换句话说,无论子串是否存在,我希望它能工作。)
在下面的示例中,请考虑重复模式以字符串beg
开头,并以字符串end
结束。我想要提取的数据是字符串foo
,bar
,baz
,bat
和qux
。正如您所看到的,复杂性是存在可选的子串bat
及其周围的内容。
以下是要解决的例子。
To see the live demo, click here
https://regex101.com/r/jZ7sU3/1
考虑以下正则表达式:
/beg(.*?)end/g
根据以下内容采取行动:
beg foo end beg bar end beg baz (bat) end beg qux end
产生以下结果:
匹配1:
foo
匹配2:
bar
比赛3:
baz (bat)
第4场比赛:
qux
但我寻求的结果如下:
匹配1:
foo
匹配2:
bar
比赛3:
baz
第4场比赛:
bat
第5场比赛:
qux
有人能找出解决方案吗?