1

我有字符串String fulltext = "I would like to create some text and i dont know what creater34r3, ";

我有子字符串 String subtext = "create s";or "create som"or "create so"..

如何获得整个单词subtext(在这种情况下“创建一些”或“创建”)

Pattern.compile("\\b(" + subtext + "\\p{Alnum}+)");- 不工作=(

4

2 回答 2

5

它有效,但您应该使用Matcher.find()(它找到第一次出现的正则表达式)而不是Matcher.matches()(它测试整个字符串的正则表达式)。

Matcher m = Pattern.compile("\\b(" + subtext + "\\p{Alnum}*)").matcher(fulltext);
System.out.println(m.find());
System.out.println(m.group(1));

印刷

true
create some

编辑:正如 Sean Landsman 指出的那样,它应该是(因为潜台词可能出现在字符串的末尾,如果使用量词则\\p{Alnum}*不会匹配)。+

于 2013-02-28T15:10:04.080 回答
3

怎么样?

Pattern.compile("\\b(" + subtext + "\\p{Alnum}*)");

这将返回create some上面的 3 个潜台词

如果没有,你能说一下你的预期输出是什么create screate somcreate so

于 2013-02-28T15:09:48.677 回答