这个正则表达式怎么写呀!!

来源:百度知道 编辑:UC知道 时间:2024/05/10 15:53:04
字符串如下"china|japan(12,23)|taiwan"

我如何取得括号内的12 23这两个数呢 可能会有多个括号的...比如"china|japan(12,23)|taiwan(12,24)"

 
 
 
目标全被非数字字符隔开了,所以以 "\\D+" 作为参数调用 String.split() 就可以了。

一行一个数地打印:

class C {
    public static void main(String[] args) {
        String data = "china|japan(12,23)|taiwan(12,24)";
        for (String num: data.split("\\D+"))
            System.out.println(num);
    }
}
 
 
 

String result="china|japan(12,23)|taiwan(12,24)";
result.subString(result.indexOf("(",0),result.indexOf(")",0))
返回结果12,23

如果只考虑括号里面的:"\\([0-9]+,[0-9]+\\)"

像你上面这个匹配出来就是:"(12,23)"//假设把引用传给了String s

再用s.subString(indexOf("(")+1,indexOf(")")-1)获得:"12