java - 使用 Java 从字符串中提取任意 5 位数字

标签 java regex

我正在尝试使用 REGEX 从较大的字符串中提取 5 位数字。

这是我用来执行此操作的方法,但它只是返回 null。

public void setCWBudgetCode(String webPage){

    Pattern pattern = Pattern.compile("/\\b\\d{5}\b/g");
    Matcher matcher = pattern.matcher(webPage);
    if (matcher.find())
        this.cwBudgetCode = matcher.group();
}

最佳答案

这就是问题:

Pattern pattern = Pattern.compile("/\\b\\d{5}\\b/g");

而不是使用这个模式:

Pattern pattern = Pattern.compile("(\\b\\d{5}\\b)");

与 Javascript 不同,Java 中没有正则表达式分隔符,当然也没有 /g

另请注意,我在正则表达式周围使用了括号,以便您可以使用matcher.group(1)

关于java - 使用 Java 从字符串中提取任意 5 位数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19231118/

相关文章:

php - 正则表达式 php 获取 mysql 插入值

Windows 7 中的 Java swing 最大化

python - 使用 python 正则表达式匹配文件名末尾的 "~"

JAVA:如何在嵌套的 JSONString 中查找子字符串的所有匹配项并替换为一些文本

javascript - 解析流而不进行裁剪

regex - 将电子邮件与 a-z 和点或加号匹配

java - 如果在 Hibernate 中不存在,则创建一个表

java - 如何确定哪个解析器规则调用了方法?

java - 图形数据流组合框架

用于创建图形的 Java 库