Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.NET正则表达式类的运算符优先级记录在哪里?_.net_Regex_Operator Precedence - Fatal编程技术网

.NET正则表达式类的运算符优先级记录在哪里?

.NET正则表达式类的运算符优先级记录在哪里?,.net,regex,operator-precedence,.net,Regex,Operator Precedence,在哪里记录了.NET类的运算符优先级顺序 我明白了,但那是JScript的 此外,这似乎不受影响,但确认会有所帮助。我认为真正的答案并不像您希望的那么简单。简短(且不完整)的答案只是“所有表达式都从左到右求值” 要得到详细的答案,请点击这里 NET Framework正则表达式引擎是一个回溯正则表达式 表达式匹配器,包含传统的不确定性 有限自动机(NFA)引擎。。。传统的NFA引擎执行以下操作: 模式匹配,它们的处理顺序由规则 表达模式。当它处理特定的语言元素时, 引擎采用贪婪匹配;也就是说,

在哪里记录了.NET类的运算符优先级顺序

我明白了,但那是JScript的


此外,这似乎不受影响,但确认会有所帮助。

我认为真正的答案并不像您希望的那么简单。简短(且不完整)的答案只是“所有表达式都从左到右求值”

要得到详细的答案,请点击这里

NET Framework正则表达式引擎是一个回溯正则表达式 表达式匹配器,包含传统的不确定性 有限自动机(NFA)引擎。。。传统的NFA引擎执行以下操作: 模式匹配,它们的处理顺序由规则 表达模式。当它处理特定的语言元素时, 引擎采用贪婪匹配;也就是说,它与 尽可能地输入字符串。但它也拯救了它的国家 已成功匹配子表达式。如果比赛最终失败, 引擎可以返回到已保存状态,以便尝试其他操作 火柴

编辑:忘记回答问题的第二部分。

关于RegexOptions.ECMAScript,您可以参考以下文档:

ECMAScript和规范正则表达式的行为不同 在三个方面:字符类语法、自引用捕获 组,以及八进制与反向参考解释


看起来“订单”没有受到影响,但可能还有其他问题。文档很好地说明了差异。

这是很久以前提出的问题,但没有得到回答


.Net正则表达式运算符精度定义在正则表达式语法页的底部。

是否可能看到让您感到困惑的表达式?优先级与JScript链接中的优先级相同:一元运算符绑定最紧,然后连接,然后交替。括号的工作方式和你们预期的一样。@zerkms,我正在写表达式,我想知道什么时候需要括号。波格斯,这正是我所希望的,但我想看到它被记录下来。如果不是,我将提交一个连接错误。@zerkms,我不知道你说的“操作优先级”是什么意思。但是,非捕获组当然可以用于更改总体优先级。例如,假设锚定绑定比替换更强烈,在整个表达式中的替换周围使用非捕获组是有意义的<代码>^(?:this | that)$@zerkms,否。请参阅。处理顺序与运算符优先级顺序不同。处理顺序描述解析后如何执行(在每个输入上)。运算符优先级是如何解析它的关键部分。我同意“所有表达式都是从左到右计算的”并不是一个完整的答案。如果是,则
^\d
将是字符串(^\)开头的斜杠,后跟文字
d