Java 使用匹配器/模式获取完整单词

Java 使用匹配器/模式获取完整单词,java,regex,Java,Regex,在我的Bukkit插件中,我正在制作一个广告拦截器,并通过一个模式和匹配器获取单词。尽管如此,我将更深入地研究它,而不仅仅是寻找数字。数字等等,我在查看语句中是否有特定数量的's,如果是4,则阻止消息。但是,当我使用matcher.group()获取字符串时,它只给出阻塞部分,而不是包含其余字符的完整单词 有没有办法从模式中找到整个单词/字符序列,而不是其中的一部分 Editerino因为我不善于解释 我正在尝试获取模式和匹配器找到的字符串的完整单词,希望这不会如此混乱;- 我不确定这是否是您要

在我的Bukkit插件中,我正在制作一个广告拦截器,并通过一个模式和匹配器获取单词。尽管如此,我将更深入地研究它,而不仅仅是寻找数字。数字等等,我在查看语句中是否有特定数量的's,如果是4,则阻止消息。但是,当我使用matcher.group()获取字符串时,它只给出阻塞部分,而不是包含其余字符的完整单词

有没有办法从模式中找到整个单词/字符序列,而不是其中的一部分

Editerino因为我不善于解释
我正在尝试获取模式和匹配器找到的字符串的完整单词,希望这不会如此混乱;-

我不确定这是否是您要问的,但是
group(0)
将返回整个匹配

例如:

String str = "asdf asdf asdf asdf";
Pattern p = Pattern.compile("SOME_REGEX_HERE");
Matcher m = p.matcher(str);
if (m.find()) {
  System.out.println(m.group(0));
}

请尽量让别人更容易理解你想做什么。如果你能分享一些你尝试过的模式,一些好输入和坏输入的例子可能会有所帮助。我已经有了这个。我要做的是找到单词中包含1-4的其余部分,但现在如果我键入10.0.0.199.9.10并让它打印出m.group(),则只会输出10.0.0.199。我正在尝试获取单词的其余部分,以便我可以做进一步的操作。您使用的正则表达式是什么?10.0.0.199.9.10是您想要匹配的吗?它有4个以上的点…我使用的正则表达式是:([0-9]{1,3}\\){3}[0-9]{1,3})(\\\:[0-9]{2,5})来获取数字。算出了,我使用的不是if(m.find()),而是while(m.find())。这个帮我修好了,谢谢。