java - 我的正则表达式有什么问题 -?\\d{2}\\.?\\d{6}

标签 java android regex eclipse netbeans

我正在尝试从 url 中提取纬度和经度:

source:
...sensor=false¢er=-15.842208999999999%2C-48.023084&zoom=17&size=256x256&language=en&client=google-maps-frontend&signature=hbey3U4lycTNgX48asW8MODjJLM

I'm not good in regexes, so I used this regex tester (http://regexpal.com/) and coded this regex

-?\d{2}\.?\d{6}
(is for JAVA )

It produces this result (who's saying it is regexpal.com):

-15.842208 ... -48.023084

So when I do it (in java):

for (Element element : newsHeadlines) {
        if(element.toString().contains("https://maps.google.com")){
            List<String> lista = get_matches(element.attr("content"), "-?\\d{2}\\.?\\d{6}");


        }
    }

public static List<String> get_matches(String s, String p) {
    // returns all matches of p in s for first group in regular expression 
    List<String> matches = new ArrayList<String>();
    Matcher m = Pattern.compile(p).matcher(s);
    while(m.find()) { 
        matches.add(m.group(1)); //<-- Exception m.group(1) not have any results.
    }
    return matches;
}

我的正则表达式有什么问题?

最佳答案

您的方法 get_matches 正在寻找 m.group(1) 组在带括号的正则表达式中定义。所以你的正则表达式需要像这样:

(-?\\d{2}\\.?\\d{6})

Online Demo

关于java - 我的正则表达式有什么问题 -?\\d{2}\\.?\\d{6},我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24981528/

相关文章:

Java:如何访问内部类自己的类型

java - 由于 BlockingQueue 的消费者(我认为是在另一个线程上),主线程挂起

java - 如何使用 Apache Olingo 发出 PUT 请求?

java - 在 onRegistered 和 onUnregistered 方法中从 GCMIntentService 更新 TextView

Mysql只搜索 "7"in text 而不是 "17"

java - 清理 Java 流中的这个条件吗?

android - AndEngine GLES 2.0 - 电源按钮问题 - 应用程序崩溃 onResume()

android - 编程按钮/图像的最佳方式

c# - 是否可以为这种类型的文本编写正则表达式?

javascript - 正则表达式查找不完整的圆括号