在 Python 中获取方括号内

Ric*_*nks 1 python string python-2.7 python-3.x

我有这个字符串。

"ascascascasc[xx]asdasdasdasd[yy]qweqweqwe"
Run Code Online (Sandbox Code Playgroud)

我想在括号内获取字符串。像这样;

"xx", "yy"
Run Code Online (Sandbox Code Playgroud)

我试过这个,但没有用:

a = "ascascascasc[xx]asdasdasdasd[yy]qweqweqwe"
listinside = []
for i in range(a.count("[")):
    listinside.append(a[a.index("["):a.index("]")])
print (listinside)
Run Code Online (Sandbox Code Playgroud)

输出:

['[xx', '[xx']
Run Code Online (Sandbox Code Playgroud)

Kas*_*mvd 5

你不需要 count ,你可以使用 regex ,re.findall()可以做到:

>>> s="ascascascasc[xx]asdasdasdasd[yy]qweqweqwe"
>>> import re
>>> re.findall(r'\[(.*?)\]',s)
['xx', 'yy']
Run Code Online (Sandbox Code Playgroud)

\[ 匹配字符 [ 字面意思

*? 匹配在零次和无限次之间,尽可能少,根据需要扩展[懒惰]

\] 字面上匹配字符 ]

演示