python正则表达式

1、基本正则表达式

正则表达式本身也是用字符串表示,通常在引号前加上r。我们首先了解如何用字符来描述字符。
\d表示一个数字;

\w表示一个数字、一个字母或者一个下划线;

\s表示一个空格;

?表示任意0个或者一个字符;

.表示任意一个字符;

*表示任意一个字符串,甚至可以是空字符串;

+表示任意一个非空的字符串;

[]表示一个集合。

2、[ ]集合的使用

[125]表示1或者2或者5

[3-7]表示37的一个数字,也就是34567

[0-9+]表示09的一个数字或者+

[a-z]表示az的一个小写字母;

[a-zA-Z]表示az的或者AZ的一个大写字母;

[^xyz]表示除了xyz以外的任意一个字符;

[]{n}表示一个长度为n的子字符串,每个字符都来自集合;

[]{n,m}表示一个长度大于等于n小于等于m的子字符串,每个字符都来自集合。

3、re中的常见方法

3.1 re.search

re.search(pattern, string)是搜索string中符合pattern的第一个字符串

3.2 re.match

match必须从string的第一个字符开始匹配,要求更严格。

3.3 re.findall

re.findall(pattern, string)是从string找到所有符合pattern的子字符串,返回一个list,如果没有找到则返回一个空的list。

3.4 re.split

re.split(pattern, string)是从string找到所有符合pattern的子字符串,并以这些子字符串为切割点,对原字符串进行分隔,返回得到一个list,每个元素是被分割的子字符串。

3.5 re.sub

re.sub(pattern, replace, string)是查找替换的功能,从string找到所有符合pattern的子字符串,并替换成replace

string = "克洛泽参加的4届世界杯中,他一共打入16球,其中2002世界杯5球,2006德国世界杯5球,2010南非世界杯4球,2014巴西世界杯2球。"
x = re.sub(r"2[0-9]{3}", "某某年", string)
print(x)
克洛泽参加的4届世界杯中,他一共打入16球,其中某某年世界杯5球,某某年德国世界杯5球,某某年南非世界杯4球,某某年巴西世界杯2球。

4. 练习:利用Python正则表达判断合法Email地址

pattern = r"[a-zA-Z0-9_+\.-]+@\w+\.\w+"

接下来就是email地址中的@符号,这个符号是必须且不可更改的,需要用转义字符’\’来表示,\@

参考链接:http://sofasofa.io/tutorials/python_regex/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python正则表达式是一种强大的字符串处理工具,它可以用于在文本中查找、替换和提取特定模式的字符串。在Python中使用正则表达式,需要先导入`re`模块。 下面是一个简单的示例代码,演示了如何使用正则表达式在字符串中匹配特定的模式: ```python import re # 定义一个待匹配的字符串 string = "Hello, my email address is example@example.com" # 定义一个正则表达式模式,用于匹配邮箱地址 pattern = r'\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}\b' # 使用re模块的findall()方法进行匹配 matches = re.findall(pattern, string) # 输出匹配的结果 print(matches) ``` 运行以上代码,输出结果会是`['example@example.com']`,即匹配到了字符串中的邮箱地址。 在正则表达式中,可以使用一些特殊字符和元字符来构建匹配模式。例如,`r'\b'`表示单词边界,`[A-Za-z0-9._%+-]`表示匹配字母、数字、点、下划线、百分号、加号和减号等字符。 除了匹配字符,还可以使用一些特殊的元字符来表示数量和位置。例如,`+`表示前面的字符出现一次或多次,`*`表示前面的字符出现零次或多次,`{2,}`表示前面的字符出现至少两次。 以上只是简单介绍了Python正则表达式的基本用法,实际上正则表达式还有很多高级用法和特性。你可以参考Python官方文档中关于`re`模块的详细说明来深入学习和理解正则表达式的使用方法。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值