需要正则表达式的大写字

时间:2016-11-22 06:24:57

标签: java regex

我需要在Java中仅提取大写单词(例如AMXS,而不是Hello)。
示例字符串:快速查看:ABM,AXR,D,AF;收益预览;美国abc对xyz市场; DRE秘鲁管道
预期的O / P: ABM AXR D AF US DRE

我尝试使用正则表达式([A-Z]),但它也获得了 Q和P

1 个答案:

答案 0 :(得分:1)

我怀疑你在你的正则表达式中错过了单词中断\\b ...我认为这可以正常运行。

String input = "Quick looks: ABM, AXR, D, AF; earnings previews; US abc vs. xyz markets; DRE Peru pipeline FOO";
Pattern pattern = Pattern.compile("([A-Z]+)\\b");
Matcher m = pattern.matcher(input);
while (m.find()) {
    System.out.println(m.group(1));
}

输出

ABM
AXR
D
AF
US
DRE
FOO