Regex 如何通过正则表达式?;
字符串如下所示:Regex 如何通过正则表达式?;,regex,Regex,字符串如下所示: abcd lookatme:{b:{d:'asdf'},c:{f:'asdfasdfasdf'} },nooooooo:{b:{d:'asdf'},c:{} }, 我想在'lookatme'后面找到对应于“{”的“}” 这是一个有趣的替代方法,不只是捕获匹配的结束符 大括号是一个正则表达式,用于匹配整个子字符串: 从开口处,顶部水平支撑 包括内容, 最多(包括)一对闭合撑杆 要匹配这样的子字符串,请使用以下正则表达式 (\{(?:[^{}]*(?R))*[^{}]*\}
abcd lookatme:{b:{d:'asdf'},c:{f:'asdfasdfasdf'} },nooooooo:{b:{d:'asdf'},c:{} },
我想在'lookatme'后面找到对应于“{”的“}”
这是一个有趣的替代方法,不只是捕获匹配的结束符 大括号是一个正则表达式,用于匹配整个子字符串:
- 从开口处,顶部水平支撑
- 包括内容,
- 最多(包括)一对闭合撑杆
(\{(?:[^{}]*(?R))*[^{}]*\})
详情:
-开始捕获组(
-打开大括号(表示自身)\{
-内部非捕获组的开始。(?:
-除两个大括号外的任意字符数[^{}]*
-对整个模式的递归调用(?R)
-内部非捕获组的结尾。此组可以出现0次或更多次)*
-右大括号(表示自身)\}
-除两个大括号外的任意字符数[^{}]*
-捕获组结束)
- 2个顶级大括号组和2个嵌套组(如源示例中所示)
- 另一个没有嵌套支撑组的顶级支撑组
- 还有一个顶级大括号组,其中包含一个嵌套的大括号组
- 从开口处,顶部水平支撑
- 包括内容,
- 最多(包括)一对闭合撑杆
(\{(?:[^{}]*(?R))*[^{}]*\})
详情:
-开始捕获组(
-打开大括号(表示自身)\{
-内部非捕获组的开始。(?:
-除两个大括号外的任意字符数[^{}]*
-对整个模式的递归调用(?R)
-内部非捕获组的结尾。此组可以出现0次或更多次)*
-右大括号(表示自身)\}
-除两个大括号外的任意字符数[^{}]*
-捕获组结束)
- 2个顶级大括号组和2个嵌套组(如源示例中所示)
- 另一个没有嵌套支撑组的顶级支撑组
- 还有一个顶级大括号组,其中包含一个嵌套的大括号组