正则表达式文法的通用子集?或者每个语法的综合功能表

是否有一些正则表达式功能的子集在所有主要语法中被认为是相同/可用的?例如, .似乎可用,并且到处都有相同的含义.我怀疑* ,, ^,$也是这样的.

更广泛的搜索倾向于显示几个语法的一些特征与注释/警告的比较,这个语法就像那个语法,或者从那个语法中获得,等等.我知道我可以做这项工作,但我问是否有对像这样的子集的现有引用.

为了进一步缩小这个问题(可能),是否存在一个子集,使用该集合的表达式在C 11中的工作方式相同,无论哪个语法指定参数传递给std :: regex()?

对于那些投票决定将其作为副本关闭的人的注意事项:
您声称的副本是重复的,除了C 11支持的语法子集之外,在几个非通用的功能旁边没有限定符.例如 – * ?: reluctant,*:possessive,():capture groups,Lookaheads :(?= …)或许其他人.其中一些导致只是通过将它们添加到std :: regex()模式而抛出EXCEPTION.

最佳答案 对于正则表达式词典学家来说,这是一个非常好的问题.碰巧有一个简单的答案.

考虑五分钟前我为C 11掀起的regexCRECABLE语法:

& [QUESTION MARK] matches single character
. [DOT] matches period character
{ [OPENING BRACE] indicates optional repetition, 3 or more times
) [CLOSING PARENTHESIS] matches the number 6

例:

主题:魔鬼的标记是666.

匹配模式:& {){.

所以,显然,答案是否定的.

广义证明:

正则表达式引擎编码器也是人. (不,真的.)你永远都不知道什么时候会有人提出让标准倒置的东西.

点赞