Regex 选择从第一个“{”到最后一个“}”的所有内容

Regex 选择从第一个“{”到最后一个“}”的所有内容,regex,Regex,我正在尝试创建一个正则表达式,以从该字符串中提取第一个{和最后一个}之间的字符串: @base64Binary3http://schemas.microsoft.com/2003/10/Serialization/��{主题:/subscriptions/xx/resourceGroups/usap devgru BBB interfaces resgrp/providers/Microsoft.Storage/storageAccounts/BBBdgdevstor,主题:/blobServi

我正在尝试创建一个正则表达式,以从该字符串中提取第一个{和最后一个}之间的字符串:

@base64Binary3http://schemas.microsoft.com/2003/10/Serialization/��{主题:/subscriptions/xx/resourceGroups/usap devgru BBB interfaces resgrp/providers/Microsoft.Storage/storageAccounts/BBBdgdevstor,主题:/blobServices/default/containers/coloradoaaready/blobs/SIU-S13_2019-5-29 16.26.11_27319.HL7,事件类型:Microsoft.Storage.BlobCreated,事件时间:2019-06-20T17:10:20.502576Z,id:AB0F7xxxxxx08B-278fa906f76d,数据:{api:PutBlockList,clientRequestId:xx6-92a6-7a87xx2be32b,请求id:xxxx0000,eTag:0xxxd2AEC9,内容类型:应用程序/八位字节流,内容长度:1368,blobType:BlockBlock,url: 16.26.11_27319.HL7,序列器:0000000000000000000000019C0000000000969F41,存储诊断:{batchId:a01x7f5-0785x256},数据版本:,元数据版本:1}

结果字符串将是:

{主题:/subscriptions/xx/resourceGroups/usap devgru BBB interfaces resgrp/providers/Microsoft.Storage/storageAccounts/BBBdgdevstor,主题:/blobServices/default/containers/coloradoaaready/blobs/SIU-S13_2019-5-29 16.26.11_27319.HL7,事件类型:Microsoft.Storage.BlobCreated,事件时间:2019-06-20T17:10:20.502576Z,id:AB0F7xxxxxx08B-278fa906f76d,数据:{api:PutBlockList,clientRequestId:xx6-92a6-7a87xx2be32b,请求id:xxxx0000,eTag:0xxxd2AEC9,内容类型:应用程序/八位字节流,内容长度:1368,blobType:BlockBlock,url: 16.26.11_27319.HL7,序列器:0000000000000000000000019C0000000000969F41,存储诊断:{batchId:a01x7f5-0785x256},数据版本:,元数据版本:1}


我们如何从第一个“{”到最后一个“}”中选择文本?

这个正则表达式不适合您吗

{.*}

默认情况下,Regex本质上是贪婪的,因此它将搜索满足条件的最大匹配项,这听起来像是您想要的

这样{.+}和点所有修饰符:?s{.+}匹配第一组?