Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
关于PEG的维基百科文章指出:
上下文无关文法和解析表达式文法的根本区别在于 PEG 的选择运算符是有序的。如果第一个备选方案成功,则第二个备选方案将被忽略。因此,有序选择不是可交换的,这与上下文无关文法和正则表达式中的无序选择不同。
但是这个问题已经发现,如果替代品是彼此的子串;那么正则表达式的行为不符合unordered choice. wiki 在大多数情况下是正确的,但没有处理这种边缘条件。我的评估是否正确?
unordered choice
“正则表达式”!=“正则表达式”。后者纯粹而简单,只对理论计算机科学家和符号数学家感兴趣。
“有序选择”是正则表达式处理器的一个实现选项。
你说“如果替代品是彼此的子串;那么正则表达式不会根据无序选择行事”。
更正确的说法是“一些正则表达式处理器使用有序选择来进行所有替换。当一个替代是另一个的前缀时,这变得很明显。”