Java 使用或不允许可变长度查找的正则表达式技术
我想了解regex引擎是如何工作的,以禁止对下面描述的技术使用可变长度查找。这通常用于创建具有特定单词但不能具有前一个单词的模式 例如,在这篇文章中:我们的想法是匹配单词cube,前提是单词small在前20个字符中不存在 因此,专家对这一问题的回答是:Java 使用或不允许可变长度查找的正则表达式技术,java,regex,Java,Regex,我想了解regex引擎是如何工作的,以禁止对下面描述的技术使用可变长度查找。这通常用于创建具有特定单词但不能具有前一个单词的模式 例如,在这篇文章中:我们的想法是匹配单词cube,前提是单词small在前20个字符中不存在 因此,专家对这一问题的回答是: .*?small.{0,20}cube|(.*?cube) 他的评论是: 实际上,这是一种绕过正则表达式引擎的简单技术 禁止可变长度查找的功能。在这个正则表达式中,我们 使用左手边的管道(或)构造匹配我们不需要的任何东西 侧边,最后使用 俘获
.*?small.{0,20}cube|(.*?cube)
他的评论是:
实际上,这是一种绕过正则表达式引擎的简单技术
禁止可变长度查找的功能。在这个正则表达式中,我们
使用左手边的管道(或)构造匹配我们不需要的任何东西
侧边,最后使用
俘获的一组
我认为这项技术非常有用,但我不知道如何使用它。我想了解正则表达式引擎是如何创建这种正则表达式的。有人能帮我解释一下吗
顺便说一句,我不知道这项技术是否适用于所有的正则表达式引擎,所以我用java标记了这个问题,因为我将主要在它上面使用它。这个想法是喜欢负数匹配而不是正数匹配,所以如果负数匹配,那么它确实匹配,并且在第一组中你不会得到正数匹配 然而,它实际上并不是以同样的方式工作的;如果有,正则表达式引擎将使用它
将立方体放在小立方体的顶部
^应匹配多维数据集,但不匹配,因为首选smallcube
这一点在问题的顶部答案中有详细解释。事实上,我将把这个标记为一个副本,因为这里的解释是SO在这个主题上提供的最高点。谢谢链接。但你是否因此而投了反对票??