1
ClericPy 2021-01-01 09:56:59 +08:00
import re
string = '[123)(abc]' m = re.findall(r'[\[()](.*?)[)\]]', string) print(m) # ['123', 'abc'] 这样吗? |
2
ClericPy 2021-01-01 09:57:25 +08:00
上面发错, 被自动补全了括号
# -*- coding: utf-8 -*- import re string = '[123)(abc]' m = re.findall(r'[\[(](.*?)[)\]]', string) print(m) |
3
ClericPy 2021-01-01 09:58:23 +08:00
睡晕了... 上面这俩回复都不对... 会有误判
|
4
crclz 2021-01-01 10:00:50 +08:00
('123', '') 表示 123 在第一个 group(括号)内被匹配。
('', 'abc') 表示 abc 在第二个 group(括号)内被匹配。 |
5
crclz 2021-01-01 10:03:32 +08:00
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-01-01 10:16:30 +08:00
# -*- coding: utf-8 -*-
import re string = '[123)(abc]' m = re.findall(r'(?<=\[).*?(?=\))|(?<=\().*?(?=\])', string) print(m) # ['123', 'abc'] |
8
learningman 2021-01-01 15:15:51 +08:00
@ClericPy 在这种回复不支持 markdown 的网站发代码,可以用 pastebin
|