如何让整个单词使用子?(how to get the whole words use substri

2019-10-17 18:13发布

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

和我的子字符串String subtext = "create s";"create som""create so" ..

如何让整个话subtext (在这种情况下,“创造一些”或“制造”)

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

Answer 1:

它的工作原理,但你应该使用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

编辑:肖恩同人指出,应该\\p{Alnum}* (因为潜台词可以在字符串的末尾发生,并且如果将不匹配+量词被使用)。



Answer 2:

怎么样?

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

这将返回create some对上述3个潜台词

如果没有,可以请你说你的期望的输出是什么create screate somcreate so



文章来源: how to get the whole words use substring?