使用正则表达式首先得导入re模块
方法: ①re.compile 将正则表达式编译成一个正则表达式对象。
xxx = re.compile('abc')②re.search 查找传入的正则表达式对象,但是只返回第一次出现的匹配文本。
>>>xxx.search('abcd,efg,abc') abc③re.findall 与search类似,但是返回所有匹配到的文本。 且如果调用在一个没有分组的正则表达式上,如\d\d,则返回一个匹配到的字符串的列表,如[‘12’,’21’]; 如果是在一个有分组的正则表达式上,如(\d)(\d),则返回一个串元祖的列表,每个分组对应一个字符串,如[(‘1’,’2’),(‘2’,’1’)
>>>xxx.findall('abcd,efg,abc') ['abc','abc']④re.I或者re.IGNORECASE 不区分字母大小写
>>>xxx = re.compile('abc',re.I) >>>xxx.search('AbCdef') AbC⑤re.sub(替换前的内容,替换后的内容,要操作的内容,替换个数) 类似于word中的替换功能
>>>re.sub(r'abc', 'efg', 'abcdefg') efgdefg⑥re.VERBOSE 忽略空白符及注释,可以写出方便阅读的正则表达式 原:
>>>xxx = re.compile(((\d|\d\))?(\s|\.))后:
>>>xxx = re.compile('''( >>> (\d|\d\))? #数字或者数字. >>> (\s|\.) #空格、制表符或换行符 >>> )''',re.VERBOSE)⑦join()和split() 插入和分割
>>>xxx = ['a''b''c'] >>>print xxx ['abc'] >>>print ' '.join(xxx) #在每个字符间插入空格,此时返回的类型是字符串 abc #而不是列表 >>>print 'a,b,c'.split(',')#把一个字符串按照逗号隔开 ['a', 'b', 'c'] #此时返回一个列表注:参考了《PYTHON编程快速上手 让繁琐工作自动化》第7章
