これが私のコードです:
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を取得するにはどうすればよいですか?
一致するには、|
それをエスケープする必要があります。そうしないと、パターンは最初または最後のグループのいずれかに一致します。しかし、両方ではありません。
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
コードを少し変更したことに注意してください。に逃げ|
た\|
。