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/

相关文章:

java - 使用 AlarmManager 每天在特定时间轮询用户位置

java - 将菜单栏添加到 JFrame

javascript - 如何使用 javascript 中的正则表达式从所有标签中删除特定的 HTML 属性?

ruby - 正则表达式 : how to get every group of MatchData?

javascript - 当输入类型 ="number"时,正则表达式验证是否有效?

regex - 在文本文件中查找非空字段的索引

java - 如何将 Excel 值与 iframe 下拉值进行比较

java - 通过java代码使用bash命令强制创建目录

java - 用于在 Java 学生关系表上支持不同过滤器集的设计模式

python - 如何根据 python pandas 中不同行的字符串形式创建新列