【发布时间】:2016-02-17 15:47:06
【问题描述】:
首先,我的语法本身不会是脚本的一部分,但它会通过表单输入进行解析——因此任何指向 Java 代码的“现有”解决方案本身都不会适用。
好的,这就是我需要做的:我需要能够输入如下术语:
“这是你的机场,这是你的车。”以只有单词“airport”或“airports”匹配的方式进入输入字段。因此,不应匹配 '99airport' 或 'airport99' 之类的东西。我很接近!
(?i).*\bair[port|ports].*
如果我在测试站点中将上述内容作为 RegEx 输入:
那么,确实,'99airport' 不匹配,因为开始使用字边界标识符 \b ;但是,我不知道如何将 \b 放在单词的结尾,这样 'airport99' 也不匹配。我尝试了几件事,但没有运气。我认为这是需要弄清楚的 [] 周围的语法。
并且请不要太在意需要匹配或不匹配的内容——这些只是随机的词。目前,如果我的输入有“airport99”,它确实会匹配,但如果我能找到解决方案,它不应该。
谢谢!
【问题讨论】:
-
只需使用
(?i).*\bairports?\b.*。在 Java 中,String patrn = "(?i).*\\bairports?\\b.*"; -
谢谢。除了我还需要 [ ]; 中的可能组合之外,这将起作用。你看,在现实生活中,我试图捕捉“龙卷风”或“龙卷风”或“ToRNADOES”之类的词,同时阻止捕捉“FCGTornadoTeam”。
-
country/countries呢? -
是的,可以与 [y|ies] 一起作为国家使用
-
您将组误认为是字符类。让我在答案中解释一下。
标签: java regex word-boundaries