python正则表达式

基本概念

正则表达式(Regular Expression),常简写为 regex 或者 RE,又称为规则表达式。它不是某个编程语言所特有的,而是计算机科学的一个概念,通常被用来检索和替换符合某些规则的文本

在python中需要导入re模块使用

# 导入re模块
import re 
# 使用match方法进行匹配操作
result = re.match(正则表达式,要匹配的字符串) 
# 如果上一步匹配到数据的话,可以使用group方法来提取数据
result.group()
  • re.match() 根据正则表达式从头开始匹配字符串数据,只能从字符串头部开始匹配
  • 除了match等还有多种函数用来操作字符串

一些符号使用,匹配单个字符

.  匹配任意1个字符(除了\n)

 import re
ret = re.match(".","M")
print(ret.group())
ret = re.match("t.o","too")
print(ret.group())
ret = re.match("t.o","two")
print(ret.group())#匹配到t o 之间的一个字符

[](方括号)匹配[ ]中列举的字符

# 大小写h都可以的情况
ret = re.match("[hH]ello Python","Hello Python")
print(ret.group())

# 匹配0到9第二种写法
ret = re.match("[0-9]Hello Python","7Hello Python")
print(ret.group())
#这种只能匹配0-9数字

\d 匹配数字,即0-9     \D匹配非数字,即不是数字

import re
 # 使用\d进行匹配
ret = re.match("嫦娥\d号","嫦娥1号发射成功") 
print(ret.group())
ret = re.match("嫦娥\d号","嫦娥2号发射成功") 
print(ret.group())
ret = re.match("嫦娥\d号","嫦娥3号发射成功") 
print(ret.group())

\s    匹配空白,即空格和tab键     \S    匹配非空白

import re

# 空格属于空白字符
match_obj = re.match("hello\sworld", "hello world")
if match_obj:
    result = match_obj.group()
    print(result)
else:
    print("匹配失败")

# \t 属于空白字符
match_obj = re.match("hello\sworld", "hello\tworld")
if match_obj:
    result = match_obj.group()
    print(result)
else:
    print("匹配失败")
    import re

match_obj = re.match("hello\Sworld", "hello&world")
if match_obj:
    result = match_obj.group()
    print(result)
else:
    print("匹配失败")


match_obj = re.match("hello\Sworld", "hello$world")
if match_obj:
    result = match_obj.group()
    print(result)
else:
    print("匹配失败")

匹配多个字符

* 匹配前一个字符出现0次或者无限次,即可有可无

匹配前的的意思指匹配字符放在符号前面

import re
 
ret = re.match("[A-Z][a-z]*","M")
print(ret.group())
 
ret = re.match("[A-Z][a-z]*","MnnM")
print(ret.group())
 
ret = re.match("[A-Z][a-z]*","Aabcdef")
print(ret.group())

 正则匹配分组 重点应用

 具体查找|         (ab)         \num         (?P<name>)         (?P=name) 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值