|
|
1
21
仅举几例。 它们都以“?”开头,这是表示组修饰符的方式。在这种情况下,问号与可选性无关。 它只是说:
有时,存储对比赛中你无论如何都不会使用的某个部分的反向引用只是矫枉过正。当组只是为了使一个复杂的表达式原子化(例如,它应该作为一个整体匹配或失败)时,存储反向引用是不必要的资源浪费,甚至会使正则表达式速度减慢一点。有时,你只想成为组1 与您相关的第一组 ,而不是 正则表达式中的第一组 . |
|
|
2
19
你可能是在这种背景下看到的
这意味着该组不会被捕获或用于反向引用。 编辑: 要反映您修改后的问题:
|
|
|
3
3
|
|
|
4
3
简短回答它将(括号中的)组标记为 non-capturing 关于此特定表达式的详细信息非捕获组的符号为:
在您展示的实例中,插入符号(^)是表达式的一部分,而不是捕获组符号的一部分。在这个例子中,它也不是一个特殊的角色。
看起来他们正在使用带有重音符号的“or”运算符(管道)。因此,他们希望匹配管道右侧的叉号或其他符号,但不将表达式作为一个组来捕获(通过
总的来说非捕获组允许您以一种不会被捕获的方式对表达式进行分组 back-refernceable ,并且还将提高表达式的性能。 |
|
|
5
2
“(?:x)匹配'x',但不记得匹配结果。” https://developer.mozilla.org/en/Core_JavaScript_1.5_Guide/Regular_Expressions |
|
|
6
1
|
|
|
code-geek · Jquery根据单选按钮选择隐藏或显示文本字段 1 年前 |
|
|
Alex · 在轻量级中同时解构和不解构变量 1 年前 |
|
|
Ângelo Rigo · ReactJS映射:如何迭代[关闭] 1 年前 |
|
|
bairog · 从按属性筛选的对象数组字典中创建值数组 1 年前 |
|
|
lokiuucx · JS对象属性返回未定义,尽管对象属性应该有值 1 年前 |