清晰透明的Python语言说明

开发 后端
可扩充性可说是Python作为一种编程语言的特色。新的内置模块(module)可以用C 或 C++写成。而我们也可为现成的模块加上Python的接口。

Python语言是一种清晰的语言的另一个意思是,它的作者有意的设计限制性很强的语法,使得不好的编程习惯(例如if语句的下一行不向右缩进)都不能通过编译。

前面说过“.”通常用作元字符,但在字符集合里,其特殊性将被剥夺,恢复成普通字符。这一点读者可以自己改动一下上面的代码来实验一下。有时需要查找不属于某个字符集合的字符。比如想查找除了数字6以外,其它任意字符都行的情况,这时需要用到反义。

其做法是把元字符“^”作为集合的首个字符,例如,[^5] 将匹配除“6”之外的任意字符。反斜杠“\”是一种非常重要的元字符。我们知道在Python的字符串中,反斜杠也是作为一种特殊字符(或转义字符)使用,后面可以跟不同的字符以表示不同特殊意义;

它也可以用于取消所有的元字符,这样你就可以在模式中匹配它们了。举个例子,如果你需要匹配字符“\”,你可以在其之前用反斜杠来取消它们的特殊意义:\\。下面是一些用“\”跟其他字符复合而成的元字符,它们通常表示一些预定义的字符集,如下所示:

PYTHON界面

我们已经讲过为单个字符指定重复次数的方法——直接在字符后面加上限定符就行了;现在我们再来学习一下重复多个字符的八法:你可以用小括号来指定子表达式(也叫做分组)。

然后你就可以指定这个子表达式的重复次数了,你也可以对子表达式进行其它一些操作。我们知道,IP地址是由点号分隔的四个数字,并且每个数字都不能大于255。(\d{1,3}\.){3}\d{1,3}是一个简单的IP地址匹配表达式。

其中:\d{1,3}匹配1到3位的数字,(\d{1,3}\.){3}匹配三位数字加上一个英文句号(这个整体也就是这个分组)重复3次,最后再加上一个一到三位的数字(\d{1,3})。然而,它也将匹配256.300.888.999这种不可能存在的IP地址。如果能使用算术比较的话,或许能简单地解决这个问题,但是正则表达式中并不提供关于数学的任何功能。

所以只能使用冗长的分组、选择和字符集合来描述一个正确的IP地址:((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)。理解这个表达式的关键是理解2[0-4]\d|25[0-5]|[01]?\d\d?,经过上面的介绍,相信读者能分析得出来它的意义。

【编辑推荐】

  1. 漫谈Python 源代码编制技巧
  2. 简单易于操作的Python 工具详解
  3. 有关Python应用领域进行说明介绍
  4. PythonAndroid面向对象的编程——Python应用程序
  5. 如何使用Python模块解析配置文件 ?
责任编辑:chenqingxiang 来源: 51CTO
相关推荐

2010-03-01 10:52:37

Python开发语言

2010-02-22 09:33:43

Python语言

2010-02-26 15:04:02

Python应用程序

2010-03-01 18:07:53

Python语言

2010-02-23 17:35:46

Python

2016-10-09 08:49:55

科技新闻早报

2010-02-22 18:08:27

Python语言

2010-02-26 10:07:55

Python编程语言

2010-03-01 16:32:36

Python语言

2010-01-12 10:11:36

学习C++语言

2010-01-18 13:54:28

函数

2010-02-22 09:51:05

Python社区

2012-04-18 18:12:47

iPad Mini

2010-01-13 15:51:44

C++编程语言

2010-02-01 15:41:55

扩展Python

2010-01-25 17:29:10

C++语言

2010-01-11 13:31:03

C++语言

2010-02-01 10:40:13

Python Djan

2010-03-01 17:47:53

Python语言

2011-05-12 10:27:18

网桥
点赞
收藏

51CTO技术栈公众号