我正在使用parse
库并遇到了令人惊讶的(对我来说)功能:它不匹配空字符串:
>>> from parse import parse
>>> parse('hi "{}"', 'hi "everybody"')
<Result ('everybody',) {}>
>>> parse('hi "{}"', 'hi ""')
>>>
有没有一种方法,使用parse
,让它匹配""
之间的任何字符串,就像re
一样:
>>> from re import match
>>> match('hi "(.*)"', 'hi "everybody"').groups()
('everybody',)
>>> match('hi "(.*)"', 'hi ""').groups()
('',)
最佳答案
使用自定义类型转换:
from parse import parse
def zero_or_more_string(text):
return text
zero_or_more_string.pattern = r".*"
parse('hi "{:z}"', 'hi ""', { "z": zero_or_more_string })
你会得到这个:
<Result ('',) {}>
关于Python解析空字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27711540/