正则表达式

正则表达式,是一种特殊的字符序列,检查一个字符串与该序列是否相匹配。可以快速检索文本、替换文本。

python中的re模块可以用来操作正则表达式

使用:import re

findall()

作用:找出字符串中跟正则表达式匹配的所有结果,返回一个list。

使用方法:re.findall(正则表达式,要匹配的字符串)

import re
a = 'C|C++|Java|C#|Python|Javascript'
r=re.findall('Python',a)
print(r)

#执行结果
> python p\p4.py
['Python']

匹配模式

re.I:忽略大小写

>>> s='PythonC#JavaPHP'
>>> re.findall('c#',s)
[]
>>> re.findall('c#',s,re.I)
['C#']

re.S : 表示概括字符集中的“点号”将匹配所有字符包括换行符。

>>> s='PythonC#\nJavaPHP'
>>> >>> re.findall('c#.',s,re.I) 
[]
>>> re.findall('c#.',s,re.I | re.S) #'c#.':匹配c#且其后面任意一个字符
['C#\n']

元字符与普通字符

'Python": 普通字符

'\d': 元字符

字符集

正则表达式的模式之一,只能匹配单一的字符。

格式:[要匹配/不匹配的字符]  ([]里面是或的关系)

例如: [cf] 匹配c或者f,[^cfd]匹配除c、f、d以外的字符,[c-f]匹配c、d、e、f(c到f)

import re
s = 'abc, acc, adc, aec, afc, ahc'
# 中间字符是c或f的单词
r = re.findall('a[cf]c',s)
print(r)

#执行结果
> python p\p5.py
['acc', 'afc']


r = re.findall('a[^cfd]c',s)
print(r)
#执行结果
> python p\p5.py
['abc', 'aec', 'ahc']

要匹配的字符太多时,可以利用字符顺序省略中间字符。

用法:[c-f]

r = re.findall('a[c-f]c',s)
print(r)

#执行结果
> python p\p5.py
['acc', 'adc', 'aec', 'afc']

概括字符集

\d: 匹配0~9的数字 (等价于 '[0-9]')

import re
a = 'C0C++7Java8C#9Python6Javascript'
# 提取出a中所有的数字
r=re.findall('\d',a)
print(r)

#执行结果
> python p\p4.py
['0', '7', '8', '9', '6']

\D:匹配所有非数字,等价于'[^0-9]'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值