我想找到所有长度为 3、以“l”开头、以“f”结尾的单词。这是我的代码:
Pattern pt = Pattern.compile("\\bl.+?f{3}\\b");
Matcher mt = pt.matcher("#Java life! Go ahead Java,lyf,fly,luf,loof");
while(mt.find()) {
System.out.println(mt.group());
}
Run Code Online (Sandbox Code Playgroud)
它什么也没显示。尝试过这个也Pattern pt = Pattern.compile("l.+?f{3}");仍然没有得到预期的o/p。
O/P 应该是:
利夫卢夫
您需要的正则表达式是
\bl\wf\b
Run Code Online (Sandbox Code Playgroud)
解释:
由于你的单词必须是三个字符长,这意味着 l 和 f 之间只能有一个字母,所以这就是为什么我没有在那里放置量词。
你的正则表达式是错误的,因为
f{3}表示 3 个 f,总共不是 3 个字符长.匹配所有内容,包括非单词字符。\w代替使用。| 归档时间: |
|
| 查看次数: |
46 次 |
| 最近记录: |