我正在尝试使用 java 使一个简单的正则表达式模式工作。我需要识别任何以星号结尾的大写单词和句子。从下面的例子来看:
Test ABC* array
我需要识别“ABC*”,或者准确地说,任何以星号结尾的大写字母单词。我用我有限的正则表达式知识尝试了以下模式匹配,但到目前为止还没有成功。
<pre>String text = "Test ABC* array";
Matcher m = Pattern.compile("\b[A-Z]+[*]?\b").matcher(text);
</pre>
任何指点将不胜感激。
谢谢
最佳答案
问题是您没有 word boundary在星星之后的最后。所以试试这个
Matcher m = Pattern.compile("\\b[A-Z]+\\*\\B").matcher(text);
\B
不是单词边界,因此这正是 *
和空格之间的结果。
关于Java正则表达式模式匹配以星号文字结尾的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13297934/