簡體   English   中英

查找帶有正則表達式的3個字母的所有單詞

[英]Find all words with 3 letters with regex

我正在嘗試在字符串中找到包含3個字母的所有單詞。
所以在這個列表中

cat monkey dog mouse

我只想要

cat dog

這是我的表達:

^[a-zA-Z]{3}$

我用不同的在線正則表達式測試器測試了它,但它們都沒有與我的表達相匹配。

你應該使用你的匹配詞邊界而不是錨點:

\b[a-zA-Z]{3}\b

RegEx演示

當你使用:

^[a-zA-Z]{3}$

這意味着你想匹配一行精確的3個字母。

你可以使用. 如果你想匹配任何字符(也是數字),而不是[a-zA-Z]

 \b.{3}\b
  1. 要匹配字符串中包含3個字母的所有單詞,模式必須為“\\ b [a-zA-Z] {3} \\ b”

  2. 下一步是編譯您的模式。

     Pattern pattern = Pattern.compile("\\\\b[a-zA-Z]{3}\\\\b"); 
  3. 使用匹配器並使用find()和group()方法來打印事件

     for (String word : sentence) { Matcher matcher = pattern.matcher(word); while(matcher.find()) { System.out.println(matcher.group()); } } 
  4. 你的程序看起來像 -

     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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM