正则表达式
1、定义:正则表达式是一个特殊的字符序列,能方便的检测一个字符串是否与某种特定的模式匹配(比如快速检索文本、实现一些替换文本的操作)。
应用场景:1.检索一串数字是否为电话号码
2.检测一个字符串是否为email
3.把一个文本里指定的单词替换为另一个单词等
2、使用内置函数判断是否包含:
例如:
a = 'C|c++|Java|Python|Javascript|c#'
print(a.index('Python')>-1)
print('Python' in a)
结果:True True
3.正则表达式的使用
案例1:
import re
a = 'C|c++|Java|Python|Javascript|c#'
res = re.findall('Python',a) #普通字符
print(res)
结果:['Python']
总结:'Python' 是普通字符
案例2:
import re
a = 'C|c++|Java|Python|Javascript|c#'
res = re.findall('Python',a)
if len(res) >0:
print('字符串中包含Python')
结果:字符串中包含Python
总结:1、导入re模块
2、findall(parttern,string,flags)方法
案例3:
import re
a = 'C9c++5Java2Python0Javascript1c#'
#提取数字
res = re.findall('\d',a) #\d表示数字0到9
print(res)
结果:['9', '5', '2', '0', '1']
总结:\d 是元字符
相关元字符见底下截图。
案例4:
import re
a = 'C9c++5Java2Python0Javascript1c#'
#查找非数字
res = re.findall('\D',a) #\D表示非数字
print(res)
结果:
['C', 'c', '+', '+', 'J', 'a', 'v', 'a', 'P', 'y', 't', 'h', 'o', 'n', 'J', 'a', 'v', 'a', 's', 'c', 'r', 'i', 'p', 't', 'c', '#']
3.字符集
案例5:
import re
a = 'abc, acc, adc, aec, afc, ahc'
#找出中间是c或者f的单词
res = re.findall('a[cf]c',a) #[]表示匹配一个或多个字符,关系是或关系
print(res)
结果:['acc', 'afc']
案例6:
import re
a = 'abc, acc, adc, aec, afc, ahc'
#找出中间不是c或者f的单词
res = re.findall('a[^cf]c
1、定义:正则表达式是一个特殊的字符序列,能方便的检测一个字符串是否与某种特定的模式匹配(比如快速检索文本、实现一些替换文本的操作)。
应用场景:1.检索一串数字是否为电话号码
2.检测一个字符串是否为email
3.把一个文本里指定的单词替换为另一个单词等
2、使用内置函数判断是否包含:
例如:
a = 'C|c++|Java|Python|Javascript|c#'
print(a.index('Python')>-1)
print('Python' in a)
结果:True True
3.正则表达式的使用
案例1:
import re
a = 'C|c++|Java|Python|Javascript|c#'
res = re.findall('Python',a) #普通字符
print(res)
结果:['Python']
总结:'Python' 是普通字符
案例2:
import re
a = 'C|c++|Java|Python|Javascript|c#'
res = re.findall('Python',a)
if len(res) >0:
print('字符串中包含Python')
结果:字符串中包含Python
总结:1、导入re模块
2、findall(parttern,string,flags)方法
案例3:
import re
a = 'C9c++5Java2Python0Javascript1c#'
#提取数字
res = re.findall('\d',a) #\d表示数字0到9
print(res)
结果:['9', '5', '2', '0', '1']
总结:\d 是元字符
相关元字符见底下截图。
案例4:
import re
a = 'C9c++5Java2Python0Javascript1c#'
#查找非数字
res = re.findall('\D',a) #\D表示非数字
print(res)
结果:
['C', 'c', '+', '+', 'J', 'a', 'v', 'a', 'P', 'y', 't', 'h', 'o', 'n', 'J', 'a', 'v', 'a', 's', 'c', 'r', 'i', 'p', 't', 'c', '#']
3.字符集
案例5:
import re
a = 'abc, acc, adc, aec, afc, ahc'
#找出中间是c或者f的单词
res = re.findall('a[cf]c',a) #[]表示匹配一个或多个字符,关系是或关系
print(res)
结果:['acc', 'afc']
案例6:
import re
a = 'abc, acc, adc, aec, afc, ahc'
#找出中间不是c或者f的单词
res = re.findall('a[^cf]c