【问题标题】:Regular expression to capture a String and Number捕获字符串和数字的正则表达式
【发布时间】:2013-02-02 22:06:20
【问题描述】:

我正在尝试获取正则表达式:

{"Place": "DENMARK", "ID": "9513436", "trains_used": 3, "Current": "_ ___ ____"}

得到这样的输出:

DENMARK 9513436 3 "_ ___ ____"

但我不知道如何捕捉整个单词。谁能给我这个正则表达式?

编辑:是的,它是一个 JSON 字符串。但我不知道 JSON 编辑:我正在尝试在 Java 中使用 string.split()。

【问题讨论】:

  • 等等。那是一个 JSON 字符串吗?
  • 如果是 JSON 字符串,为什么不直接使用json_decode
  • 看看google-gson解析一个json字符串。
  • 永远不要为此使用正则表达式,使用库来处理它。这里有一个使用不同 Jackson 和 Gson 库的完整示例:Java JSON Tutorial。进行一些测试,然后为您做出更好的决定。
  • 同意 - 如果这是 JSON,那么您不是在寻找正则表达式。

标签: java regex json


【解决方案1】:
String teststr = "{\"Place\": \"DENMARK\", \"ID\": \"9513436\", \"trains_used\": 3, \"Current\": \"_ ___ ____\"}";

String regex = ".*?: \"(.*?)\".*?: \"(.*?)\".*?: (.*?),.*?: (\".*?\")";
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(teststr);

if (m.find()) {
    System.out.println(m.group(1) + " " + m.group(2) + " " + m.group(3) + " " + m.group(4));
}

【讨论】:

    猜你喜欢
    • 2012-08-20
    • 1970-01-01
    • 1970-01-01
    • 2016-12-15
    • 1970-01-01
    • 2020-06-04
    • 2016-07-26
    • 2019-10-10
    • 2021-01-15
    相关资源
    最近更新 更多