我正在尝试使用java制作一个简单的正则表达式模式.我需要识别任何以尾随星号和句子结尾的大写单词.从以下示例:
Run Code Online (Sandbox Code Playgroud)
我需要识别"ABC*"或者确切地说,任何带有上框的单词以星号结尾.我尝试了以下模式匹配我有限的正则表达式知识,但到目前为止还没有成功.
Test ABC* array
任何指针将不胜感激.
String text = "Test ABC* array";
Matcher m = Pattern.compile("\b[A-Z]+[*]?\b").matcher(text);
谢谢
问题是你在明星之后没有一个单词边界.所以试试吧
Matcher m = Pattern.compile("\\b[A-Z]+\\*\\B").matcher(text);
Run Code Online (Sandbox Code Playgroud)
\B不是单词边界,所以这正是你在*空白之间得到的.
在Regexr上看到它