[英]Find all words with 3 letters with regex
我正在嘗試在字符串中找到包含3個字母的所有單詞。
所以在這個列表中
cat monkey dog mouse
我只想要
cat dog
這是我的表達:
^[a-zA-Z]{3}$
我用不同的在線正則表達式測試器測試了它,但它們都沒有與我的表達相匹配。
你可以使用.
如果你想匹配任何字符(也是數字),而不是[a-zA-Z]
:
\b.{3}\b
要匹配字符串中包含3個字母的所有單詞,模式必須為“\\ b [a-zA-Z] {3} \\ b”
下一步是編譯您的模式。
Pattern pattern = Pattern.compile("\\\\b[a-zA-Z]{3}\\\\b");
使用匹配器並使用find()和group()方法來打印事件
for (String word : sentence) { Matcher matcher = pattern.matcher(word); while(matcher.find()) { System.out.println(matcher.group()); } }
你的程序看起來像 -
public static void main(String[] args) { List<String> sentence = new ArrayList<String>(); sentence.add("cat"); sentence.add("monkey"); sentence.add("dog"); sentence.add("mouse"); Pattern pattern = Pattern.compile("\\\\b[a-zA-Z]{3}\\\\b"); for (String word : sentence) { Matcher matcher = pattern.matcher(word); while(matcher.find()) { System.out.println(matcher.group()); } } }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.