Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用正则表达式从字符串中提取数字?_Java_Regex - Fatal编程技术网

Java 如何使用正则表达式从字符串中提取数字?

Java 如何使用正则表达式从字符串中提取数字?,java,regex,Java,Regex,我想要结果2!,3.44! 请帮助必须将反斜杠加倍并转义!也许还需要逃避,因为它在某些上下文中有特殊的含义,所以使用 String a = "sin(23)+cos(4)+2!+3!+44!"; a.replaceAll("(\d+!)",""); Current Output = sin(23),+,cos(4),+,+,+ 相反。不确定这是否是您需要的: \\d+\\! 它和2号相配!第三!44岁 嗯,这和我想匹配除2之外的所有其他字符有什么区别!,3.44岁! \+(\d+!)

我想要结果2!,3.44!


请帮助

必须将反斜杠加倍并转义!也许还需要逃避,因为它在某些上下文中有特殊的含义,所以使用

String a = "sin(23)+cos(4)+2!+3!+44!";
a.replaceAll("(\d+!)","");


Current Output = sin(23),+,cos(4),+,+,+

相反。

不确定这是否是您需要的:

 \\d+\\!
它和2号相配!第三!44岁


嗯,这和我想匹配除2之外的所有其他字符有什么区别!,3.44岁!
\+(\d+!)
    String a = "sin(23)+cos(4)+2!+3!+44!";
    Pattern number = Pattern.compile("\\d+!");
    Matcher matcher = number.matcher(a);
    while (matcher.find()) {
        System.out.println(matcher.group());
    }