java - Java 中的正则表达式以 '_' 开头,以空格/换行符结尾

标签 java regex

我希望能够找到此模式'_*' 含义以 '_' 开头,以空格或换行符结尾。

我还有另一个正则表达式来仅定位大写字母的单词:[A-Z]+ 这是准确的,还是有更好的写法?

我使用 Java。

最佳答案

如果你尝试

String _command = "AFTER_2011/03/01 GREATER_2004";
Pattern patt = Pattern.compile("_\\S+");
Matcher matcher = patt.matcher(_command);
while(matcher.find()) {
    String name = _command.substring(matcher.start()+1, matcher.end());
    System.out.println(name);
}

打印

2011/03/01
2004

编辑:正如@Alan Moore 建议的那样,您可以执行以下操作。

String _command = "AFTER_2011/03/01 GREATER_2004";
Pattern patt = Pattern.compile("_(\\S+)");
Matcher matcher = patt.matcher(_command);
while(matcher.find()) {
    String name = matcher.group(1);
    System.out.println(name);
}

关于java - Java 中的正则表达式以 '_' 开头,以空格/换行符结尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5243383/

相关文章:

c# - 匹配大写字母、数字或大写、小写和数字的正则表达式

html - 父子正则表达式匹配

c# - 查找未转义字符时使用 Regex Replace

regex - 如何从文件中复制正则表达式匹配项?需要从日志文件中获取所有 MAC 地址

regex - 自定义 Markdown 标签

java - 带参数调用main方法时出错

java - 从 JFrame 监听内部 JPanel 上的操作

java - Android - youtube api 按关键字搜索不起作用

java - 将值放入 API URL 中并回调以保存数据

java - 如果另一个类中的方法不是静态的,为什么我无法获取该方法的返回值?