这是我的代码:
import re
p = re.compile('(?P<name>[^|]*)|(?P<desc>[^|]*)')
m = p.match('jack|a good boy')
name = m.group('name')
desc = m.group('desc')
print name # jack
print desc # None
如何在'|'之后获得desc?
答案 0 :(得分:1)
要匹配|
,您必须逃避它。否则,您的模式将匹配第一组或最后一组。但是,不是两者兼而有之。
import re
p = re.compile('(?P<name>[^|]*)\|(?P<desc>[^|]*)')
m = p.match('jack|a good boy')
name = m.group('name')
desc = m.group('desc')
print name # jack
print desc # a good boy
注意我已经改变了一段代码。刚刚将|
转发到\|
。