java - 如何使用 Java 正则表达式匹配 'ERA-00924' 和第一个 '<' 字符之间的所有内容?

标签 java regex

给定这个输入字符串:

String input = "some text ERA-00924: table does not exists</div";

如何使用 Java 正则表达式匹配“ERA-00924”和第一个“<”字符之间的所有内容?

我目前能够使用以下内容捕获“ERA-00924”部分:

Pattern pattern = Pattern.compile("(ERA-\\d\\d\\d\\d\\d)");
Matcher matcher = pattern.matcher(input);
if( matcher.find() )
{
      String target = matcher.group();
}

但是我很难一直匹配到第一个“<”字符(但不包括)。

最佳答案

您可以使用此正则表达式:

ERA-\\d{5}([^<]*)

并使用组 1 作为您的值:

matcher.group(1)

关于java - 如何使用 Java 正则表达式匹配 'ERA-00924' 和第一个 '<' 字符之间的所有内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24041809/

相关文章:

regex - 如何从文件或脚本中的管道中选择多行?

javascript - 如何使用正则表达式进行正确的输入验证?

Java,用空白字符串替换字符串数字并删除数字后的所有内容

regex - 需要帮助创建正则表达式模式来获取图像

javascript - 正则表达式获取第一个 "space"之后的文本?

java - Apache POI 异常空白(已解决 :\u00A0 non-breaking space)

javascript - 无法从登录 Activity 移至管理类别,然后发送回主目录?

java - org.springframework.batch.item.file.FlatFileParseException :

Java : How to parse date format to show specific output format?

java - Spring Batch - 获取 CSV 中总记录数的最简单方法?