你可以用 \|\s*(\d+)(?=\s*\|) 請參閱regex演示。細節(jié): \|-管道字符 \s*-零個或多個空格 (\d+)-組1:一個或多個數字 (?=\s*\|)-一個正的前向查找,它匹配一個緊接著零個或多個空格和一個管道字符的位置。 請參閱Java演示: String s = "| 2021-08-18 01:28 | Twitter | [INTL TWITTER AAA BBB CC ] (https://twitter.c.xx-xx-2.aaaa.com/#/groups/123) | Twitter XX (C++, C#) | 1 | 2 | 3 | 4 | [ aaaa ] | 5 | 6 | 7 |";Pattern pattern = Pattern.compile("\\|\\s*(\\d+)(?=\\s*\\|)");Matcher matcher = pattern.matcher(s);while (matcher.find()){ System.out.println(matcher.group(1)); } // => 1, 2, 3, 4, 5, 6, 7