java - 正则表达式整个词

标签 java android regex

<分区>

我觉得问这个问题有点傻,但从我读过的所有内容来看,这对我来说应该有用,但没有用。我只是想使用正则表达式匹配字符串中的整个单词。

因此,如果我试图在句子中找到单词“the”,它应该为“the quick brown fox jumps over the lazy dog”返回 true,但为“there quick brown fox jumps over the懒狗”。

我已经试过了:

 String text = "the quick brown fox jumps over the lazy dog";
 return text.matches("\\bthe\\b");

我也试过:

    String text = "the quick brown fox jumps over the lazy dog";
    String regex = "\\bthe\\b";
    Pattern pattern = Pattern.compile(regex);
    Matcher matcher = pattern.matcher(text);

    return matcher.matches();

我也试过这个正则表达式:“\bthe\b”

而且它们总是返回 false。我觉得我在这里遗漏了一些非常明显的东西,因为这应该不会太难。 :)

最佳答案

如果您使用匹配,它必须匹配整个字符串。 String#contains(...) 可能是您要查找的内容,或者您​​可能想在单词前后添加一些通配符:

String regex = ".*\\bthe\\b.*";

例如,

  String text = "the quick brown fox jumps over the lazy dog";
  System.out.println(text.matches(regex));

关于java - 正则表达式整个词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7459263/

相关文章:

java - 如何在 java 8 lambda 表达式中获取方法参数名称?

java - 使用卡片布局,遇到一个我无法解决的问题

java - 处理相机调用并预览时出现 javaNullPointer 异常

android - 在我的手机上安装时 APK 文件无效

javascript - 对方括号内的字符串中所有出现的内容运行函数

regex - 我怎样才能清除这个表达式

java - 使用扫描仪打印标记和分隔符值

java - StartTimePicker 设置时间(android)

java - joda new DateTime(int,int,int,int,int,int)的问题

android - 无法解析符号Firebase