Rumah  >  Artikel  >  pembangunan bahagian belakang  >  分享一段Python正则的简单代码实例

分享一段Python正则的简单代码实例

Y2J
Y2Jasal
2017-05-04 13:17:431689semak imbas

这篇文章主要介绍了Python正则简单实例,具体分析了Python针对字符串的简单正则匹配测试中遇到的问题与相关注意事项,需要的朋友可以参考下

本文实例讲述了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', '']
>>>

Atas ialah kandungan terperinci 分享一段Python正则的简单代码实例. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn