测试积点老人 发表于 2019-11-11 10:42:52

通过正则表达式获取括号中内容的问题

有下面一个字符串,想通过正则表达式把最外层括号中的内容都取出来
str = ' | D } ] F [ G ]'
match = re.findall('\[.*?\]', str)
print(match)
re.findall('\[.*?\]', str)的写法是把从第一个括号“[”到第一个反括号“]”的内容给取出来,所以造成了下面的输出结果
['', '', '[ G ]']
但是想要的输出结果是获取最外层的括号中的内容
[' | D } ]', '[ G ]']
另外括号的类型是不一定的,有可能是大括号{},也有可能是中括号[],请问有大括号和中括号都适用的正则表达式吗?

bellas 发表于 2019-11-12 09:32:28

match = /[\[\{\]\}]/.exec( str)
            ^
SyntaxError: invalid syntax

海海豚 发表于 2019-11-12 09:47:02

match = /[\[\{\]\}]/.exec( str)

qqq911 发表于 2019-11-12 11:18:04

都适用的

litingting0214 发表于 2019-11-12 11:52:21

match = /[\[\{\]\}]/.exec( str)

jingzizx 发表于 2019-11-12 12:06:39

可以,一样的编写正则
页: [1]
查看完整版本: 通过正则表达式获取括号中内容的问题