我在python中有一个变量x
,存储以下值:
XYZ (APABC01)
ABC (ACACA18)
GHI (ABUAD21)
我只想要括号内的部分作为列表。
我使用了下面的正则表达式,并且几乎正确:
re.findall('\((.*?\))',x)
输出为:
['APABC01)', 'ACACA18)', 'ABUAD21)']
我的问题是如何消除其他括号。我希望输出如下:
['APABC01', 'ACACA18', 'ABUAD21']
这样我就可以访问列表中的元素以供进一步使用
Tags:
您首先进行分组,因此它也捕获了括号。尝试:
首先,它跳过括号,然后捕获介于括号和括号之间的所有内容
使用此正则表达式:
[(]
:仅由(
开头部分组成的字符类。您也可以改用\(
-转义的开头参数。(.*?)
:任何字符重复0次或以上,非贪婪(最小出现次数)。模式被re.findall
捕获并作为列表返回相关问题 更多 >
编程相关推荐