Questions tagged «lookaround»

3
正则表达式先行,后向和原子组
这个问题的答案是社区的努力。编辑现有答案以改善此职位。它目前不接受新的答案或互动。 我在正则表达式主体中找到了这些东西,但是我不知道如何使用它们。有人有例子吗,所以我可以尝试了解它们是如何工作的? (?!) - negative lookahead (?=) - positive lookahead (?<=) - positive lookbehind (?<!) - negative lookbehind (?>) - atomic group
314 regex  lookaround 

3
我们如何将a ^ nb ^ n与Java正则表达式匹配?
这是一系列教育正则表达式文章的第二部分。它显示了如何使用前瞻和嵌套引用来匹配非常规语言a n b n。嵌套引用首先在以下地方引入:此正则表达式如何查找三角数? 原型非常规语言之一是: L = { añ bñ: n > 0 } 这是所有非空字符串的语言,其中包括一定数量的,a后跟相等数量b的。在这个语言字符串的例子有ab,aabb,aaabbb。 抽引引理可以证明这种语言是不规则的。实际上,它是原型上下文无关的语言,可以由上下文无关的语法 生成S → aSb | ab。 尽管如此,现代正则表达式实现显然不仅仅可以识别常规语言。也就是说,根据形式语言理论的定义,它们不是“正常的”。PCRE和Perl支持递归正则表达式,.NET支持平衡组定义。更少的“花哨”功能(例如反向引用匹配)意味着正则表达式不是常规的。 但是,这种“基本”功能到底有多强大?L例如,我们可以用Java正则表达式识别吗?我们也许可以结合lookarounds和嵌套引用,并有一个模式,与如作品String.matches来匹配字符串一样ab,aabb,aaabbb,等? 参考文献 perlfaq6:我可以使用Perl正则表达式来匹配平衡文本吗? MSDN-正则表达式语言元素-平衡组定义 pcre.org-PCRE手册页 regular-expressions.info - Lookarounds和分组和反向引用 java.util.regex.Pattern 关联问题 环视是否会影响正则表达式可以匹配哪些语言? .NET Regex平衡组与PCRE递归模式

4
环视是否会影响正则表达式可以匹配哪些语言?
现代正则表达式引擎中有一些功能,这些功能使您可以匹配没有该功能就无法匹配的语言。例如,以下使用反向引用的正则表达式会匹配由重复一个单词组成的所有字符串的语言:(.+)\1。该语言不是常规语言,不能与不使用反向引用的正则表达式匹配。 环视还会影响正则表达式可以匹配哪些语言吗?即有没有可以使用环视匹配的语言,否则无法匹配?如果是这样,对环视的所有风格(负向或正向超前或向后看)还是仅对其中某些而言,这是正确的吗?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.