Python正则简单实例分析

687次阅读  |  发布于5年以前

本文实例讲述了Python正则简单用法。分享给大家供大家参考,具体如下:

悄悄打入公司内部UED的一个Python爱好者小众群,前两天一位牛人发了条消息:

小的测试题:


    re.split('(\W+)', ' test, test, test.')

返回什么结果

一开始看,我倒没注意W是大写的,以为是小写的w代表单词字符(含下划线),今天运行一看才发现是大写的。

在IDLE跑一下的结果如下:


    >>> import re
    >>> re.split('(\W+)', ' test, test, test.')
    ['', ' ', 'test', ', ', 'test', ', ', 'test', '.', '']
    >>>

看到如上的输出,我是带有疑惑的,\W匹配非单词字符,那么结果里为什么有那么多非单词字符?

我都怀疑我对\W的含义是不是记错了,打开正则手册一看,确定我没记错之后,我发现了此例中匹配模式包含了括号,对应着正则里面的(pattern),

而这表示在匹配的同时会获取匹配,并保存到匹配结果集中。

恍然。

再测:


    >>> re.split('(\W+)', ' test, test, test.')
    ['', ' ', 'test', ', ', 'test', ', ', 'test', '.', '']
    >>> re.split('\W+', ' test, test, test.')
    ['', 'test', 'test', 'test', '']
    >>>

PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:

JavaScript正则表达式在线测试工具:
http://tools.jb51.net/regex/javascript

正则表达式在线生成工具:
http://tools.jb51.net/regex/create_reg

更多关于Python相关内容可查看本站专题:《Python正则表达式用法总结》、《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总

希望本文所述对大家Python程序设计有所帮助。

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8