Python解析空字符串

时间:2014-12-30 19:43:53

标签: python

我使用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()
('',)

1 个答案:

答案 0 :(得分:2)

使用自定义类型转换:

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 ('',) {}>