Преобразование из JSON в десятичное - PullRequest
2 голосов
/ 10 октября 2011

У меня есть строка JSON.

{"bounds": {"south west":{ "lng":74.1475868, "lat": 31.366689}, "northeast": { "lng":74.85623 ,"lat": 32.5698746}}

Я хочу получить целые числа с десятичными значениями, используя регулярное выражение в Java.

Ответы [ 2 ]

4 голосов
/ 10 октября 2011

JSON не является регулярным языком и поэтому не может быть проанализирован с помощью простых регулярных выражений (и анализ его с помощью нерегулярных расширений регулярных выражений чрезвычайно сложен) Вместо этого используйте библиотеку Java JSON .

0 голосов
/ 10 октября 2011

Не используйте регулярные выражения для анализа структурированных документов.Есть способы получше.Теперь, если кто-то вынудил вас использовать регулярное выражение для выполнения этой работы, направив пистолет в вашу голову, вы можете использовать это:

try {
    Pattern regex = Pattern.compile("[-+]?\\b[0-9]*\\.?[0-9]+\\b");
    Matcher regexMatcher = regex.matcher(subjectString);
    while (regexMatcher.find()) {
        // matched text: regexMatcher.group()
        // match start: regexMatcher.start()
        // match end: regexMatcher.end()
    } 
} catch (PatternSyntaxException ex) {
    // Syntax error in the regular expression
}

Это будет перехватывать все числа целыми или не отрицательными или положительными с необязательной целочисленной частью.

Обратите внимание, что не совпадет с номерами с научной нотацией!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...