我正在尝试使用 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/