python 中的正则表达式

正则表达式是各种字符串操作的强大的工具。

正则表达式是一种特定于领域的语言,(DSL),作为大多数现代编程语言的库,而不仅仅是python。

正则表达式对于以下两种主要任务是很有用的:

验证字符串是否符合匹配模式,(例如:字符串具有电子邮件地址的格式)

对字符串中进行替换(如将所有美式拼写改为英式拼写)

正则表达式是一个高度专业化的迷你编程语言,与sql类似适用于多种编程环境。

python中的 正则表达式可以使用re模块来访问,他是标准库的一部分。

re模块中有3个比较重要的方法:

re.match() :用来确定字符串开头是否符合我们设定的规则,如果匹配上,返回匹配的对象,否则返回none。

例子:

import re 
patter='spam'
if re.match(pattern,'spamapamspam'):
    print("match")
else:
   print("no match")

re.search() : 是否可以在字符串中查找到符合条件的,查找到返回可迭代对象,否则返回none 

可以查看出里面的包含匹配到的信息  ,接下来将提取我们需要的信息(开始位置和结束位置)

注意他只会返回第一个查询到的对象的信息,如果有多个也只返回第一的信息。

re.findall(): 将字符中所有符合条件的,以列表形式返回 (一个结果也是列表注意),否则返回 none

re.sub (pateern,repl ,string,max=0 )

此方法替换字符串中所有满足条件的字符,除非max限制数量,结果返回替换的结果

 

元字符

元字符使用正则表达式比普通的字符串方法更强大。

元字符允许你在创建正则表达式来表示像‘一个或多个元音的重复’这样的概念。

元字符  .  

他可以匹配任何单个的字符,但不匹配新的行  换行符 等特殊字符。

元字符  ^ 和 $

分别匹配字符串的额开始和结束

字符类 [ ] 

把总括号里面的任何一个当做匹配的条件(含有列表中的字符的)。

 一些常用的组合:

[a-z]      匹配任何小写字符                              [A-Z]         匹配任何大写字符

[0-9]      匹配任何数字                                      [a-zA-Z]   匹配任何大小写字符 

使用 ^ 来反转其中的含义 ,不含有列表中的元素 --------只有与[ ]配合才有这种效果,其他时候都是代表字符串开头的意思

元字符:

*  : 零次或多次

+ :一次或多次

?:零次或多次

{3,5}: 3次到5次      如果3的位置缺失,自动补0

元字符:

|  :或者  通常与();一起使用

例子:‘a(1|2|3)b’  可以匹配  a1b    a2b a3b 

特殊序列:

\d : 匹配数字          \w 所有的字符       \s   空格

\D 非数字               \W 非字符              \S非空格

     

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值