正则表达式从nginx conf中获取花括号之间的字符串

时间:2018-04-03 09:36:32

标签: nginx

我需要从nginx.conf获取多个字符串

   geo $whitelist {
       default 1;
       1.1.1.1/32 0;
       2.1.1.1/32 0;
       3.3.3.3/32 0;
   }

   m = re.match('\{(\s*?.*?)*?\}', str)

Online regex tester

但这不是我需要的,我只需要白名单后的括号中的内容

2 个答案:

答案 0 :(得分:0)

你需要的正则表达式是:\{((?:\s*?.*?)*?)\}

括号()表示在正则表达式中捕获组。 (?:)可用于对事物进行分组,而无需在捕获组中捕获它们。

在原始正则表达式中,您有一个捕获组,但它是空的。

答案 1 :(得分:0)

 m = re.match(' m = re.match('\{(\s*?.*?)*?\}', str)

enter link description here

我自己的答案就是这个,我不知道是否有其他答案