用以asterix文字结尾的单词的Java正则表达式模式匹配

Sha*_*mik 2 java regex

我正在尝试使用java制作一个简单的正则表达式模式.我需要识别任何以尾随星号和句子结尾的大写单词.从以下示例:

Test ABC*  array
Run Code Online (Sandbox Code Playgroud) 我需要识别"ABC*"或者确切地说,任何带有上框的单词以星号结尾.我尝试了以下模式匹配我有限的正则表达式知识,但到目前为止还没有成功.
String text = "Test ABC*  array";
Matcher m = Pattern.compile("\b[A-Z]+[*]?\b").matcher(text);
任何指针将不胜感激.

谢谢

ste*_*ema 9

问题是你在明星之后没有一个单词边界.所以试试吧

Matcher m = Pattern.compile("\\b[A-Z]+\\*\\B").matcher(text);
Run Code Online (Sandbox Code Playgroud)

\B不是单词边界,所以这正是你在*空白之间得到的.

在Regexr上看到它