正则表达式

正则表达式:
正则表达式是记录文本规则的代码

基本用法:

(1)、\ 将下一个字符标记为一个特殊字符

(2)、定界符:

^   匹配输入字符串的开始位置 例如:^12  表示的是以12开头
$   匹配输入字符串的结束位置 例如:12$  表示的是以12结尾
\b  匹配一个单词的边界,就是指单词和空格间的位置
\B  匹配非单词边界
.*  匹配所有的字符
例如:
    teacher li verb
    er\b        匹配的是teacher里的er
    er\B        匹配的是verb里的er

(3)、个数/次数

*    匹配前面的子表达式零次或者多次
+    匹配前面的子表达式一次或者多次
?   匹配前面的子表达式零次或一次
{n}   n是一个非负整数
{n,}  n是一个非负整数
{n,m}  m和n均为非负整数,其中n<=m

例如:
hello
helo
heo

hel+o   匹配的是hello helo
hel*o   匹配的是hello helo heo
hel?o  匹配的是helo heo

(4)、? |

?        当该字符紧跟在任何一个其他限制符(*,+,?,{n},{n,},{n,m})后面,匹配模式一个非贪婪的
|
表示的是或者

例如:
hello
helo
heo

(5)、语法糖:

\d     匹配一个数字字符
\D     匹配一个非数字字符
\s     匹配任何空白字符,包括空格,制表符,换页符等
\S     匹配任何非空白字符
\w        匹配字母,数字,下划线
\W         匹配非字母,数字,下划线

hel+?o    (此时表示只匹配一个l) 匹配到的是helo

(6)、在python中如何使用正则表达式:

re模块   查找:re.search    或者re.findall
        替换: re.sub

        import re

        test_string='hello'


        result=re.search('l',test_string)
        print(result)

        result2=re.findall('l',test_string)
        print(result2)

        result3=re.sub('l','m',test_string)
        print(result3)
Fork me on GitHub