Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/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 - Fatal编程技术网

Java 整词正则表达式匹配

Java 整词正则表达式匹配,java,regex,Java,Regex,我有一个字符串列表,比如c++,c,java,c,.net 我必须在一些文本中找到这些字符串的出现处 我试过了 String pattern = "(?i)\\b"+Pattern.quote(str)+"\\b"; 但是它与c++不匹配 然后,我删除了\b,它开始匹配文本中的每个c 如何匹配整个单词 示例字符串: C,C+,C++学院猫牛< \bc\++\b无法c++,因为++不被视为单词字符\b只能在单词字符之后匹配,而不能在非单词字符之后匹配,如+ 您可能可以使用以下正则表达式: \b

我有一个字符串列表,比如
c++
c
java
c
.net

我必须在一些文本中找到这些字符串的出现处

我试过了

String pattern = "(?i)\\b"+Pattern.quote(str)+"\\b";
但是它与
c++
不匹配

然后,我删除了
\b
,它开始匹配文本中的每个
c

如何匹配整个单词

示例字符串

C,C+,C++学院猫牛<


\bc\++\b
无法
c++
,因为
++
不被视为单词字符
\b
只能在单词字符之后匹配,而不能在非单词字符之后匹配,如
+

您可能可以使用以下正则表达式:

\bc\+\+(?=\W|$)

使用您要匹配的单词,我们将为前面提到的itI创建正则表达式。其中有几个类似于C++、C、java、NethoO,我可以使它适用于每个字符串。有办法吗?或者我必须显式地检查字符串中的
+
字符吗?您也可以将其用于其他字符串。即使是
\bJava(\b |$)
也能工作。我两个都试过了,但都不匹配。我错过什么了吗?我提供了示例字符串并查找单词
c
c#
c++
您的代码中
str
的值是什么?太好了,可以了!这里有个问题。我是诺布。
(?=\s |$)
(?=\W |$)
之间有什么区别?