Python解析空字符串

标签 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()
('',)

最佳答案

使用自定义类型转换:

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/

相关文章:

python - 批量加载程序 CSV 大小错误

Python/Django 不附加斜杠

python - Synology DS 上的 Apache 配置,用于 mod_wsgi/Django

python - 如何使用 matplotlib 让散点变得更大以获得更高的密度?

python - 运行 python 脚本/GTKBuilder 应用程序时出现段错误?

python - 使用 channel 2 向一位用户发送通知

python - 使用 peewee 进行反向外键查询

python - 如何获得没有填充的标记,来自seaborn 0.11+

python - 使用 scikit-image 将 png 转换为 jpeg

python - pandas.DataFrame 和 numpy.array 中的 np.isreal 行为不同