正则表达式主要用于处理文本格式。
Python本身有些内置函数可以处理str,但是正则表达式更高效,简单理解为输入法中的五笔,难学,但是学会了打字就快多了。
# STR.INDEX('STR_PART')
a = 'c++|time|python'
print(type(a.index('python')))
print(type(a.index('python') > -1))
print(a.index('python') > -1)
print(a.index('python'))
>> <class 'int'>
>> <class 'bool'>
>> True
>> 9
# STR_PART IN STR
print('python' in a)
>> True
re模块常用函数有
# re模块用来应对正则表达式
import re
a = 'c++|time|python||Python|pythont'
re.findall('python',a)
print(type(re.findall('python',a)))
print(re.findall('python',a))
>> <class 'list'>
>> ['python', 'python']
上面几个查询操作(都是常量),传统的字符串内置函数都可以操作,无法体现正则表达式的强大功能。
对规则(抽象)的使用,是正则表达式的本质。
# 搜索数字
import re
a = 'c++|time|python|7|P3yth1on|8pythont'
print(type(re.findall('\d', a)))
print(re.findall('\d', a))
>> <class 'list'>
>> ['7', '3', '1', '8']
'python' 普通字符
'\d' 元字符(数字)
'a[cf]c' 字符集,acc或者afc
'\d' 概括字符集,等同于'[\d]'等同于'[0-9]'
元字符有很多,简单列常用的几个
'\d' 数字
'\D' 非数字
'\w' 包括数字和字母,不包括特殊符号(可以匹配_),等同于'[A-Za-z0-9_]'
'\W' 非单词字符,包括' '(空格)'\t' '\n'...
'\s' 空白字符,空格、制表符、回车等
'\S' 非空白字符(字母、符号、数字等各种字符)
[afe] []内的字符是'或'关系,a或者f或者e
[c-f] 指的是cdef四个顺序字符
[^afe] 取反操作,不是a不是f不是e
.
.
.
2019-01-31 23:45:08写于济南