【发布时间】:2010-08-11 12:31:49
【问题描述】:
我需要使用包含除点之外的所有 \b 字符的正则表达式,.
类似[\b&&[^.]]
例如,在下面的测试字符串中:
"somewhere deep down in some org.argouml.swingext classes and"
我希望 org.argouml.swingext 字符串匹配,但 org.argouml 字符串不太匹配。 (使用Matcher.find()方法)
如果我使用:\b(package_name)>\b,它们都匹配,这不是我想要的。
如果我使用:\b(package_name)[\b&&[^\.]] 我会得到一个PatternSyntaxException
如果我使用:\b(package_name)(\b&&[^\.]) 没有匹配项。
我使用this link 来测试我的正则表达式。
上下文:我有一个项目中的包名称列表,我必须在一些文本中搜索它们。显然,如果找到嵌套包,我不希望外包也匹配,如上例所示。
我没有在末尾使用 \s 字符类,因为包可能位于行尾,或者它后面可能跟着其他非单词字符,例如 : 、 ) 等,包含的字符在\b 类中。我只想减去 .来自 \b 类。
如果有人知道如何做到这一点,我将非常感激 :) 谢谢
【问题讨论】:
-
"所有
\b字符" -\b不是字符。这是一个零宽度的单词边界锚。
标签: java regex subtraction