自由形式输入解析器的集合(特别关注日期)

fuzzyparsers的Python项目详细描述


介绍和示例

fuzzyparsers库提供了一个小的函数集合来清理 自由形式的用户输入。目前它的主要价值是灵活的日期。 分析器。该库力求在解析日期时具有本地智能。

这个库有两个主解析器。第一个是前缀解析器,它比较 字符串返回字符串列表的唯一元素 与前缀匹配。如果匹配不唯一,则引发异常。

>>> from fuzzyparsers import fuzzy_match
>>> fuzzy_match(['aab','bba','abc'],'aa')
'aab'
>>> fuzzy_match(['aab','bba','abc'],'a')  # two strings starting with 'a'.
Traceback (most recent call last):
...
ValueError: ambiguous match for 'a'

第二个解析器以各种格式分析日期并返回datetime.date。 反对。接受的格式包括:

jan 12, 2003
jan 5
2004-3-5
+34 -- 34 days in the future (relative to todays date)
-4 -- 4 days in the past (relative to todays date)

例如:

>>> from fuzzyparsers import parse_date
>>> parse_date('jun 17 2010') # my youngest son's birthday
datetime.date(2010, 6, 17)

库允许设置默认日期来填充 日期(如年份)。默认情况下,没有一年的日期将给出 本年度。

>>> from fuzzyparsers import DateParser
>>> import datetime
>>> DateParser(today=datetime.date(2013, 3, 1)).parse_date('feb 3')
datetime.date(2013, 2, 3)

待办事项

我们希望支持以下功能:

  • 分析时间字符串,如“上午10点”和“下午2点3点”
  • A“[0-9]*[0-9]*”一个月第一次,一天第二次 应返回最接近的月/日组合。例如, “12-3”将于今年或去年12月3日回归。

更改日志

  • 0.9.0-支持Python3
  • 0.8.0-换成麻省理工学院的执照,因为我不明白为什么我在乎 此包的GPL。
  • 0.7.3-修复了本地月日订单问题(感谢Treeve获得 开始了。
  • 0.7.2-添加文档测试和“2012年3月”日期格式;文档测试脚本
  • 0.7.1-安装修复程序
  • 0.7-彻底检查日期解析API以支持相对日期(不一定 相对于当前日期)
  • 0.6.x-首次公开发布和一系列文档/安装更正

安装

fuzzyparsers由joel b.mohler编写,并根据 麻省理工学院的执照。

使用以下命令运行扩展文档测试:

python -m doctest fuzzyparsers/*.py
python -m doctest README.txt

要安装fuzzyparser,请执行普通的python操作(可能是根操作):

python setup.py install

或:

pip install fuzzyparsers

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java查找url是否引用现有对象   从IDEA到GitHub的java共享项目:如何将所有项目添加到名为“lab1”的分支中的存储库中   C++上java的崩溃   java mybatis从结果集创建临时表   多线程为什么在关闭Java执行器时要保留中断状态?   java MongoDB Spring批量插入多个文档的速度很慢   java如何在JOGL中旋转圆柱体   程序运行后的inputstream“java.util.NoSuchElementException未找到行”   java发送带有位图的彩信源代码   如何在java中通过逐字符添加字符从字符数组创建字符串   Eclipse RCP应用程序的java共享工作区   java如何使用点击式侦听器转到不同的xml布局?   Tomcat 7上面向java的DB JDBC连接器池   java如何创建你管格式的媒体播放器?   JMeter代理记录的java问题   java使用逗号拆分数据集<Row>上的字符串列,并获取新数据集<Row>   java Spring安全方法级别权限不起作用   java无法从远程maven存储库下载源代码,但可以从本地下载   do while Java:IndexOutOfBoundsException的不可预测性   Java iOS MDM:APNs证书UID更改