JavaScript正则表达式跳过子模式
JavaScript regex to skip sub pattern
我真的想不通这个。
我有一个字符串,我试图将用大括号(例如{content}
)标记的三个组与我在双大括号下面的自定义字符串进行匹配,这意味着它是转义的。
SetValue:{1} when {OVERVIEW{{}}.Debug=1} else {0}
// Here is an actual real life example
ValidWhen: {! Matches('^''d{{3}}''s''d{{3}}''s''d{{3}}[''s''S]', COLLECTION.AccountNumber)} {Account Number must not be more than 9 numbers.}
我无法找到一个正则表达式来将第二组匹配为{OVERVIEW{{}}.Debug=1}
而不是{OVERVIEW{{
。我得到的最接近的正则表达式是使用这个正则表达式,因为我认为我可以使用lookbacking来防止它在双大括号上停止。
/{(?!'}).*?'}/
这可能吗?或者我需要更详细的字符串解析吗?
以下正则表达式适用于有效输入1:
/{(?:[^{}]|{{|}})*}/
我们只是不允许在大括号内使用任何{}
,只允许使用双{{
和}}
。
1以下是一些输入,上面的正则表达式可能会返回意外结果:
{{0}} text
此正则表达式将与{0}
匹配,这很可能是不正确的。
{{ OVER}
无括号的大括号和很可能无效的代码。
{ A {B } C}
嵌套大括号-不确定这是否有效,但上面的正则表达式将获取{B }
。
regex101上的演示
{[^}{]*}|{'S+}
试试这个。请参阅演示。
http://regex101.com/r/sK8oK9/6
相关文章:
- 子字符串/正则表达式以获取字符串中保存的 SRC 值
- 正则表达式匹配模式或匹配其他所有内容 - 匹配优先级问题
- 在javascript中使用正则表达式来剪切子字符串
- 模仿负查找以匹配JavaScript正则表达式中没有紧跟特定字符的模式
- 我应该使用什么正则表达式来验证数字模式
- youtube视频的正则表达式匹配模式可以以非贪婪的方式完成吗
- _water_glass的javascript正则表达式模式
- 获取字符串中与正则表达式匹配的所有子字符串
- 将具有两个此类子字符串的字符串中的第一个子字符串生成与正则表达式匹配,正则表达式通常默认匹配最后一个子字符串
- 谷歌浏览器模式正则表达式在使用setCustomValidity动态创建表单时不起作用
- 需要正则表达式模式的帮助
- JavaScript 正则表达式查找与开始和结束模式匹配的所有子字符串
- 正则表达式查找模式,返回子模式
- 不包括子模式的正则表达式
- JavaScript正则表达式跳过子模式
- 设置自定义HTML5有效性消息属性忽略模式正则表达式
- 使用作用域数据的Angular模式正则表达式验证
- 子模式的正则表达式
- JavaScript和正则表达式:获取带括号的子模式的数量
- Javascript正则表达式获取子字符串,排除模式