【发布时间】:2017-08-03 06:43:41
【问题描述】:
对正则表达式不太熟悉,所以如果可能的话,可以使用一些指向正确方向的指针。
我有一些可能的字符串值,如下所示:
“88976756 ABC 33ddf33a24”
“89999ABC 3hhhj33”
“7ffhh7AB C78788sd”
我需要查找这些字符串中是否存在值 ABC,但其前面或后面没有字母数字字符。
在上面的例子中,只有第一个应该返回 ABC。 第二个例子前面有一个数字,第三个例子中间有一个空格。
如果有人知道这样做的方法或有一些关于最好方法的文档,我将不胜感激。
编辑: 上面的字符串可能有点简单。下面还有一些示例
"67676/'ABC'7866cc"
应该找到ABC,因为它之前或之后没有字母数字字符
"88xx#'\A2C"
应该找到A2C,因为之前或之后没有字母数字字符
“88xx#A2C&&&88”
应该找到A2C,因为之前或之后没有字母数字字符
“88xxA2C&&&88”
不应找到 A2C,因为它前面有一个字母数字字符
谢谢
【问题讨论】:
-
并非如此,更新了上面可能的示例以澄清
-
所有显示的案例都被单词边界覆盖。唯一的问题可能是
_ABC_。如果 This 不匹配,您需要使用一些自定义边界,例如(?<!\w)ABC(?!\w)。哦,请将您的代码格式化为代码。
标签: java regex pattern-matching non-alphanumeric