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

标签 java regex

我正在尝试使用 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 不是单词边界,因此这正是 * 和空格之间的结果。

查看here on Regexr

关于Java正则表达式模式匹配以星号文字结尾的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13297934/

相关文章:

java - 如何在java opencv中找到最大的轮廓

java - 图像在部署到服务器时被禁止使用 403

regex - 电子邮件正则表达式允许特殊字符

Java 正则表达式 - 匹配模式的第一次出现

java - 动态创建矩形网格

java - 在 Java 中存储颜色 - byte;byte;byte vs. byte[3] vs int

java - Bukkit 掉落爆炸 block

regex - 将可选参数与 Bash 正则表达式中的非捕获组匹配

javascript - 删除除 img 标签之外的所有标签

正则表达式不匹配字符串中的双引号(只是单引号)