带有可选子字符串的JavaScript RegEx模式
JavaScript RegEx pattern with optional substring
我想用JavaScript编写一个正则表达式,它无条件地WRT重复模式中可选子字符串的存在(或不存在)。(换句话说,无论子字符串是否存在,我都希望它能工作。)
在下面的示例中,考虑以字符串beg
开始并以字符串end
结束的重复模式。我要提取的数据是字符串foo
、bar
、baz
、bat
和qux
。正如您所看到的,复杂性在于可选子字符串bat
的存在及其周围的内容
下面是要解决的示例。
示例
要查看现场演示,请单击此处。
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
有人能想出解决办法吗?
这里有一个类似的Java问题。
尝试以下regex,它应该与匹配
/(?:beg (.*?)(?='(|end))|'((.*?)')/g
请参阅regex101上的演示。
相关文章:
- Javascript RegEx validator
- 包含圆括号的JavaScript Regex模式
- 要替换的Javascript Regex无法按预期工作
- Javascript/RegEx未验证HTML表单
- Isn't javascript regex lazy?
- javascript/regex忽略双引号中的分号
- 从javascript regex.exec分配多个变量
- JavaScript Regex 将单词替换为其第一个字母,除非在括号内
- JavaScript Regex(?i)选项中字符串大小写不敏感的部分不起作用
- JavaScript Regex,用于由特定字符串包围的数字和空格
- Javascript RegEx to XML Schema RegEx
- Javascript Regex Search
- Javascript Regex,在字符串中查找数字
- Javascript Regex选择每个非字母数字字符和空白
- Javascript Regex-删除未捕获的组
- Javascript-Regex,用于逗号分隔的字母数字
- Javascript Regex-从价格中抓取分隔符
- JavaScript:RegEx-不返回match1 match2等
- 将Javascript Regex结果转换为字符串(?)
- Javascript Regex替换HTML标记