
1 ClericPy 2021 年 1 月 1 日 import re string = '[123)(abc]' m = re.findall(r'[\[()](.*?)[)\]]', string) print(m) # ['123', 'abc'] 这样吗? |
2 ClericPy 2021 年 1 月 1 日 上面发错, 被自动补全了括号 # -*- coding: utf-8 -*- import re string = '[123)(abc]' m = re.findall(r'[\[(](.*?)[)\]]', string) print(m) |
3 ClericPy 2021 年 1 月 1 日 睡晕了... 上面这俩回复都不对... 会有误判 |
4 crclz 2021 年 1 月 1 日 ('123', '') 表示 123 在第一个 group(括号)内被匹配。 ('', 'abc') 表示 abc 在第二个 group(括号)内被匹配。 |
5 crclz 2021 年 1 月 1 日 import re def single(l): assert len(l) == 1 return l[0] s = '[123)(abc]' # m = re.findall() m = re.findall('\[(.*?)\)|\((.*?)]',s) m = [single([q for q in p if len(q)>0]) for p in m] print(m) |
6 ClericPy 2021 年 1 月 1 日 # -*- coding: utf-8 -*- import re string = '[123)(abc]' m = re.findall(r'(?<=\[).*?(?=\))|(?<=\().*?(?=\])', string) print(m) # ['123', 'abc'] |
8 learningman 2021 年 1 月 1 日 @ClericPy 在这种回复不支持 markdown 的网站发代码,可以用 pastebin |