3.2.1 正则表达式的语法(2)

(?!...)向前识别不等于指定字符就匹配,当下一个单词不等于...时就识别出来括号前面指定的单词。比如Isaac(?!Asimov),就会这样判断,当紧跟着Isaac后面不是单词Asimov时,就把它匹配出来。例子:print('Isaac(?!Asimov)')print(u'abcdAsimovIsaacttttt')m = re.findall(u'Isaac(?!Asimov)', u'...
阅读(1122) 评论(0)

3.2.1 正则表达式的语法(1)

(?...)这个语法规则是前面的扩展,主要在问号位置可以替换为特定的字符。例子:print('(?...)')m = re.findall(r'(a...)', r'abcdefaghijk')if m:    print(m) 输出结果如下:(?...)['abcd', 'aghi'](?#...)括号内容注释掉,不起作用。在正则表达式分析时,跳过这些规则。例子:print('(?#a)')m ...
阅读(1031) 评论(0)

3.2.1 正则表达式的语法

特别字符集:‘.’点号,在缺省的情况下,可以用来代替任何除换行符之外的字符;如果DOTALL标志设置了,它可以用来代替任何字符,包括换行符。例子:#re import re m = re.findall('a.', 'ab a2 bb a+')if m:    print(m)结果输出如下:['ab', 'a2', 'a+']在这个例子里,先使用import语句导入正则表达式库re,然后使用函数f...
阅读(1526) 评论(0)

3.2 re--正则表达式操作(Regular expression operations)

本模块提供了正则表达式的匹配操作,它的功能跟Perl语言里的功能一样。 无论是Unicode字符串还是单字节8位组成的字符串,都可以使用模式匹配和字符串查找的功能。不过要注意的是Unicode字符串与8位的字符串不能混合使用,也就是说你不能在Unicode里去匹配单字节的模式,或者其它查找的功能。同样也不能在不同类型的字符串里相互替换字符串。 正则表达式使用反斜线(‘\’)来指定特定的格式的意义,...
阅读(1453) 评论(0)

3.1.4 模板字符串

在字符串中进行字符串替换,一般是使用%s来格式化解决,但这种格式化使用起来比较复杂,并且即使是熟悉的开发人员使用起来也容易出错。为了解决这些问题,在字符串库里提供一个模板类。具体情况可以参考PEP 292文档。模板类字符串主要使用$开头的替换字符串来代替%开头的字符串。替换字符串的规则如下:l $$,用两个$来表示一个$字符输出。l $identifier,用$加标识符方式来识别替换串位置和键值。...
阅读(1264) 评论(0)

1.1 创造性和动机

1.1 创造性和动机由于本书不是针对专业编程人员,因为专业的编程人员所做的工作都需要考虑经济性。为其它用户创建有用的、简洁的和聪明的软件是一件非常有创建性的工作。你的PC或PDA通常都安装有很多专业人员为你开发的应用程序,每个软件都会引起你的注意和兴趣。他们尽量让这些软件满足你的需求,并且让你体验得更好。在某些程序情况下,当你提出一些需求时,专业开发人员需要你给他们报酬才会给你开发你所需要的软件功...
阅读(1337) 评论(0)

3.1.3 格式化字符串的语法

字符串str.format()和Formatter类都是使用相同的格式化字符串。格式化字符使用大括号{}来包含替换的字段,任何不在大括号里的字符都是直接输出而不作转换。因此,想要输出大括号,就需要使用特别的方式,使用双大括号方式来输出大括号,比如{{来输出{,}}来输出}。 格式化字符串的语法如下:replacement_field ::=  "{" [field_name] ["!" conve...
阅读(1284) 评论(0)
    个人资料
    • 访问:5606856次
    • 积分:73290
    • 等级:
    • 排名:第25名
    • 原创:1589篇
    • 转载:61篇
    • 译文:11篇
    • 评论:2088条
    文章存档
    最新评论