Python正则表达式

一个点号可以代替除了换行符以外的任何一个字符,包括但不限于英文字母、数字、汉字、英文标点符号和中文标点符号
一个星号可以表示它前面的一个子表达式(普通字符、另一个或几个正则表达式符号)0次到无限次。
问号表示它前面的子表达式0次或者1次
反斜杠,将特殊符号变成普通符号。
数字用\d来表示
()小括号用来提取内容
Python正则表达式模块为re import re

findall

Python的正则表达式模块包含一个findall方法,它能够以列表的形式返回所有满足要求的字符串。

 

import re
content='我的微博密码是:1234567,QQ密码是:33445566,'
password=re.findall(':(.*?),',content)
name_list=re.findall('名字是(.*?)',content)
print("")
print('找到内容,返回:{}'.format(password))
print('找不到任何内容,返回{}'.format(name_list))

search

 search()的用法和findall()的用法一样,但是search()只会返回第1个满足要求的字符串。

对于结果,如果匹配成功,则是一个正则表达式的对象;如果没有匹配到任何数据,就是None。如果需要得到匹配到的结果,则需要通过.group()这个方法来获取里面的值

 

import re
content='我的微博密码是:1234567,QQ密码是:33445566,'
password=re.search('密码是:(.*?),',content)
name_list=re.search('名字是(.*?)',content)
print(password)
print("hh"+password.group())
print(password.group((0)))
print(password.group(1))

“.*”和“.*? ”的区别

“.*”表示匹配一串任意长度的字符串任意次

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值