Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/375.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,我需要一些正则表达式方面的帮助:我正在尝试检查一个句子是否包含特定的单词 让我们以本主题的标题为例: “在字符串中查找特定单词的正则表达式” 我需要找出它是否包含单词if,在本例中它是false 我不能使用contains方法,因为在这种情况下它将返回true(spec*if*ic) 我在考虑使用方法匹配,但我对正则表达式有点不在行 基本上,匹配方法输入中的正则表达式需要指定我要查找的单词前面和单词后面的字符不是字母(因此不能包含在该单词中),或者单词位于句子的开头或结尾 非常感谢 使用以下正则

我需要一些正则表达式方面的帮助:我正在尝试检查一个句子是否包含特定的单词

让我们以本主题的标题为例:

“在字符串中查找特定单词的正则表达式”

我需要找出它是否包含单词if,在本例中它是false

我不能使用contains方法,因为在这种情况下它将返回true(spec*if*ic)

我在考虑使用方法匹配,但我对正则表达式有点不在行

基本上,匹配方法输入中的正则表达式需要指定我要查找的单词前面和单词后面的字符不是字母(因此不能包含在该单词中),或者单词位于句子的开头或结尾


非常感谢

使用以下正则表达式:

".*\\bif\\b.*"

\b
匹配单词边界。

使用此选项匹配字符串中的特定单词:

   String str="Regex to find a specific word in a string";
   System.out.println(str.matches(".*\\bif\\b.*"));   //false 
   System.out.println(str.matches(".*\\bto\\b.*"));   //true


熟练掌握正则表达式可以解决您的任务

就你而言

String str = "Regex to find a specific word in a string in java"
        str.matches(".*?\\bif\\b.*?");  \\ return false
String str1 = "print a word if you found"
        str1.matches(".*?\\bif\\b.*?");  \\ return true
简短的解释:

。匹配任何字符

*??是零次或多次

\b是一个词的边界


可以找到正则表达式的一个很好的解释

uhm这行不通。它总是返回false(我在发布它之前已经尝试过了,也许我做错了什么)System.out.println(“Regex以查找java中字符串中的特定单词是否匹配(\\bif\\b”);例如,返回false,它应该返回trueSystem.out.println(“Regex以查找java中字符串中的特定单词是否匹配(“\\bif\\b”)@Epi是否要返回索引?我无法理解你的最后一段。。。