gpt4 book ai didi

带有可选子字符串的 JavaScript RegEx 模式

转载 作者:行者123 更新时间:2023-11-27 23:10:08 24 4
gpt4 key购买 nike

我想在 JavaScript 中编写一个正则表达式,它可以无条件地判断重复模式中是否存在可选子字符串。 (换句话说,无论子字符串是否存在,我都希望它能够工作。)

在下面的示例中,考虑以字符串 beg 开头并以字符串 end 结尾的重复模式。我寻求提取的数据是字符串 foobarbazbatqux。正如您所看到的,复杂的是可选子字符串 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

产生以下结果:

Match 1: foo

Match 2: bar

Match 3: baz (bat)

Match 4: qux

但我寻求的结果如下:

Match 1: foo

Match 2: bar

Match 3: baz

Match 4: bat

Match 5: qux

有人能找出解决办法吗?

Here is a similar question for Java .

最佳答案

尝试下面的正则表达式,它应该匹配

/(?:beg (.*?)(?=\(|end))|\((.*?)\)/g

参见Demo在正则表达式101。

关于带有可选子字符串的 JavaScript RegEx 模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36255472/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com