正则表达式提取第一次/最后一次出现

时间:2016-02-03 16:35:12

标签: java regex

我想在第一个{和最后一个}

之间提取内容
{"Command":{"Version": "1.1","Body":{}}}

我试过这个正则表达式,为什么它不起作用,找不到匹配。

^\\{(.*?)\\}$
你可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

这适用于MS RegEx:

 var regEx = "\\{{1}?(.*)\\}{1}?";

它查找{的第一个(懒惰)实例,然后获取所有字符直到贪婪"}"。请记住,如果你有:

{<stuffYouWant>}{<stuffYouWant>}在一行......

你会得到:

单次抓取

<stuffYouWant>}{<stuffYouwant>

注意:由于您要查找的所有字符(.*)没有{,但还有},因此您的工作无效。它需要一个可以开始的地方,否则它会抓住所有内容直到最后},然后看到它有{并取消抓住它。