我正在尝试将字符串转换为列表
str = "ab(1234)bcta(45am)in23i(ab78lk)"
预期输出
res_str = ["ab","bcta","in23i"]
我尝试从 str 中删除括号。
re.sub(r'\([^)]*\)', '', str)
最佳答案
您可以使用带有前瞻的否定字符类:
>>> s = "ab(1234)bcta(45am)in23i(ab78lk)"
>>> print (re.findall(r'[^()]+(?=\()', s))
['ab', 'bcta', 'in23i']
正则表达式详细信息:
[^()]+
:匹配任意一个非(
和)
的字符
(?=\()
:前瞻断言前面有一个(
关于要列出的 Python 字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62701361/