Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java正则表达式,用于查找前后没有字母数字字符的特定子字符串_Java_Regex_Pattern Matching_Non Alphanumeric - Fatal编程技术网

Java正则表达式,用于查找前后没有字母数字字符的特定子字符串

Java正则表达式,用于查找前后没有字母数字字符的特定子字符串,java,regex,pattern-matching,non-alphanumeric,Java,Regex,Pattern Matching,Non Alphanumeric,不太熟悉正则表达式,因此如果可能,可以使用一些指向正确方向的指针 我有一些可能的字符串值,可以是如下所示: “88976756 ABC 33ddf33a24” “89999ABC 3HHJ33” “7ffhh7AB C78788sd” 我需要的是找出这些字符串中是否存在值ABC,但其前面或后面没有字母数字字符 在上面的例子中,只有第一个应该返回ABC。 第二个例子前面是一个数字,第三个中间有一个空格。 如果有人知道这样做的方法,或者有关于最佳方法的文档,我将不胜感激 编辑: 上面的字符串可能有点

不太熟悉正则表达式,因此如果可能,可以使用一些指向正确方向的指针

我有一些可能的字符串值,可以是如下所示:

“88976756 ABC 33ddf33a24”

“89999ABC 3HHJ33”

“7ffhh7AB C78788sd”

我需要的是找出这些字符串中是否存在值ABC,但其前面或后面没有字母数字字符

在上面的例子中,只有第一个应该返回ABC。 第二个例子前面是一个数字,第三个中间有一个空格。 如果有人知道这样做的方法,或者有关于最佳方法的文档,我将不胜感激

编辑: 上面的字符串可能有点简单。下面还有一些例子

“67676/‘ABC’7866cc”

应该找到ABC,因为在它之前或之后没有字母数字字符

“88xx#'\A2C”

A2C应该被找到,因为之前或之后没有字母数字字符

“88xx#A2C&&88”

A2C应该被找到,因为之前或之后没有字母数字字符

“88xxA2C&&88”

不应找到A2C,因为它前面有字母数字字符


谢谢

使用单词边界匹配器
\b

你的正则表达式可以简单到

\bABC\b

假设我没有ABC,而是A23。单词边界能否匹配字母数字字符串?此外,运行正则表达式的完整字符串可以有任何字符组合,上面发布的可能有点过于简化了。我将更新以包含更多示例。实际上,更新了上面可能的示例,以澄清您显示的所有案例都包含在单词边界中。唯一的问题可能是
\u ABC\u
。如果不匹配,您需要使用一些自定义边界,例如
(?)哦,请将您的代码格式化为代码。