字符串与正则表达式python实验报告分析_python字符串解析,利用string模块和正则表达式re模块...

1.python字符串通常有单引号('...')、双引号("...")、三引号("""...""")或('''...''')包围,三引号包含的字符串可由多行组成,一般可表示大段的叙述性字符串。在使用时基本没有差别,但双引号和三引号("""...""")中可以包含单引号,三引号('''...''')可以包含双引号,而不需要转义。

2. 用(\)对特殊字符转义,如(\)、(')、(")。

3.常用字符串内置函数

1)str.count()  //返回该字符串中某个子串出现的次数

2)str.find()   //返回某个子串出现在该字符串的起始位置

3)str.lower()  //将该字符串全部转化为小写

4)str.upper()  //转为大写

5)str.split()  //分割字符串,返回字串串列表,默认以空格分割

6)len(str)     //返回字符串长度

例如:

>>> str = 'Hello, world'

>>> str.count('o')

>>> 2

>>> str.find('lo')

>>> 3

>>> str.lower()

>>> 'hello, world'

>>> str.upper()

>>> 'HELLO, WORLD'

>>> str.split()

>>> ['Hello,', 'world']

>>> str.split(',')

>>> ['Hello', ' world']

>>> len(str)

>>> 13

>>> str

>>> 'Hello, world'

以上所有操作都不会改变字符串本身!

4.正则表达式,re模块

import re

常用函数:

1)compile():   //将正则表达式字符串编译成正则re对象

2)search()     //在目标字符串中匹配正则表达式

3)match()      //从目标字符串第一个字符开始匹配正则表达

search和match匹配成功返回MatchObject对象,失败返回None

>>> p = re.compile('abc')

>>> p.search('zabcy')

不先编译成正则re对象也是可以的,上例也可以为:

>>> re.search('abc','xabcy')

compile还可加些标志位,例如:re.I(re.IGNORECASE)忽略大小写

>>> p = re.compile('abc')

>>> print p.search('xAbCy')

None

>>> p = re.compile('abc',re.I)

>>> print p.search('xAbCy')

search和 match区别见下例:

>>> p = re.compile('abc')

>>> print p.search('xxxabcyyy')

>>> print p.match('xxxabcyyy')

None

>>> print p.match('abcyyy')

4)split()      //类似字符串内置函数split()

区别在于:内置split()以确定字符串分割,而正则split函数以正则表达式分割字

例如:以空格(1个或者多个空格)分割:

>>> p.split('a b   c  d')

['a', 'b', 'c', 'd']

而内置split分割的结果为:

>>> 'a b   c  d'.split(' ')

['a', 'b', '', '', 'c', '', 'd']

5)findall()     //返回目标字符串中匹配正则表达式中所有子串列表

>>> p = re.compile('^([a-z]{2}):([1-9]{3}):(.+)$')

>>> p.findall('as:123:a12')

[('as', '123', 'a12')]

上例中正则表达式的子串为3个用括弧括起的,分别为:'[a-z]{2}'、'[1-9]{3}'、'.+', 分别被 as、123、a12匹配,注意此返回的是匹配字符串元组的一维列表。

以上比较常用的正则函数,更多用法请参照python手册。

5.字符串与数字相互转换,string模块

import string

string.atoi(str[,base])  //base为可选参数,表示将字符转换成的进制类型

数字转换成字符串可简单了,直接用str()

6. 字符与ASCII转换

char->ascii  ord()

ascii->char  chr()

分享到:

18e900b8666ce6f233d25ec02f95ee59.png

72dd548719f0ace4d5f9bca64e1d7715.png

2010-03-15 13:21

浏览 34935

评论

你可能感兴趣的:(字符串与正则表达式python实验报告分析_python字符串解析,利用string模块和正则表达式re模块...)