包装器,用于从正则表达式解析结果中获取更多功能。

tregex-tobiasli的Python项目详细描述


tregex

Build StatusCoverage Status

tregex是python正则表达式的一个包装器,它使使用更平滑、更友好。

安装

pip install tregex-tobiasli

用法

importtregexastrt=tr.to_tuple(pattern='([^;]+?)@(.+?)\.([^;]+)',string='john.smith@somewhere.co.uk; hackzor@coolface.com')assertt[0][1]=='somewhere'assertt[1][2]=='com'pattern='(?P<name>[^;]+?)@(?P<address>.+?)\.(?P<domain>[^;]+)'t=tr.to_dict(pattern=pattern,string='john.smith@somewhere.co.uk; hackzor@coolface.com')assertt[0]['name']=='john.smith'assertt[1]['address']=='coolface't=tr.to_object(pattern=pattern,string='john.smith@somewhere.co.uk; hackzor@coolface.com')assertt[0].name=='john.smith'assertt[1].address=='coolface'

上面的方法模式可以是字符串或编译的正则表达式。TregexCompiled是一个简单的 包含要在上述方法上运行的已编译正则表达式。如果模式很长,这种用法会加快速度 相当地。

fromtregeximportTregexCompiledpattern='(?P<name>[^;]+?)@(?P<address>.+?)\.(?P<domain>[^;]+)'trc=TregexCompiled(pattern)t=trc.to_object('john.smith@somewhere.co.uk; hackzor@coolface.com')assertt[0].name=='john.smith'

tregex还包含一些简单的模糊文本匹配方法,使用difflib.SequenceMatcher

fromtregeximportfind_bestplaces_in_wales=['Llanaber','Llanaelhaearn','Llanbedr','Llandbedrgoch','Llanbedrog','Llanberis','Llandanwg','Llanegryn','Llandegwning','Llandeiniolen','Llandwrog']best=find_best('Llanberris',places_in_wales)assertbest=='Llanberis'

其他方法是findfind_scores(返回与候选项一起匹配的分数)和similarity(其中 返回一对字符串之间的分数。

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

推荐PyPI第三方库


热门话题
java如何在部署在Tomcat7上的jbpmconsole中添加新用户?   JavaStruts2:我分配了一个参数的值,但在jsp文件中得到了一个空指针错误   检查类是否在同一个包或子包中访问的java ArchUnit规则?   java当您使用spring forward重定向到其他控制器时,如何从ModelAndView返回响应对象?   java jsp/servlet,显示管理员、用户和未登录用户的不同链接   java Eclipse警告消息   java加载多纹理openGL   java有没有一种方法可以通过Hibernate传递一个对象(genaric)并填充任何字段,然后让它返回一个包含所有字段的对象列表?   java如何将git存储url连接到本地存储库,以便每次都获得更新的代码?   java无限循环在程序中无法正常工作   java File writer正在写入没有“换行”的字符串   java为什么Spring或C3p0没有清理C3p0线程?   java通过JDBC从PostgreSQL检索几何数组