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 |$)
之间有什么区别?