我有一個正則表達式Java的正則表達式匹配不組預期
.*?(\\d+.*?\\d*).*?-.*?(\\d+.*?\\d*).*?
我想匹配的是包含一個數值後接任意字符串「 - 」和另一個號碼。任何字符串都可以在兩者之間。
此外,我想能夠使用Java Matcher類的組功能提取數字。
Pattern pattern = Pattern.compile(".*?(\\d+.*?\\d*).*?-.*?(\\d+.*?\\d*).*?");
Matcher matcher = pattern.matcher("13.9 mp - 14.9 mp");
matcher.matches();
我期待這樣的結果:
matcher.group(1) // this should be 13.9 but it is 13 instead
matcher.group(2) // this should be 14.9 but it is 14 instead
任何想法,我缺少什麼?
躲避'\ d +。* \ d *'或更好的點,使用'\ d +(?:\。\ d +)?' –