正则1 概述及匹配单个字符,匹配多个字符

正则表达式概述
re模块操作
匹配单个字符
匹配多个字符

正则表达式概述

  • 正则表达式,又称规则表达式。计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。

re模块操作

导入re模块
import re
使用match方法进行匹配操作(返回一个对象)
result = re.match(正则表达式,要匹配的字符串)

最简单的匹配

import re
result = re.match(r"hello","hello world")
print (result.group())
对象的group方法提取数据
result.group()

匹配单个字符

字符功能
.匹配任意1个字符(除了\n)
[]匹配[]中列举的字符
\d匹配数字0-9
\D\d的相反面,即非数字0-9
\s匹配空格,tab键
\S\s的相反面
\w匹配单词字符,即0-9,a-z,A-Z _
\W\w的相反面 匹配非0-9,a-z,A-Z _
示例:(看代码中的正则即可)

匹配hello 不论大小写([ ]使用)

import re
result = re.match(r"[hH]ello","hello")
print (result.group())

匹配速度与激情1-3 6-8部([ ]使用)

import re
result = re.match(r"速度与激情[1-36-8]","速度与激情1")	//这里修改数字
print (result.group())

在匹配的字符串内改数字1-8.

所有的大学字母正好是小写字母的相反

匹配多个字符

字符功能
*匹配一个字符出现0次或者无限次,即可有可无
+匹配一个字符出现1次或者无限次,即至少有一次
?匹配前一个字符出现1次或者0次,即要么有1次,要么没有
{m}匹配前一个字符出现m次
{m,n}匹配前一个字符出现从m到n次
示例:(看代码中的正则即可)

如果速度与激情有两位数以上的部数({ }使用)

import re
result = re.match(r"速度与激情\d{1,2}","速度与激情12")	//这里修改数字
print (result.group())

一串11位数字电话号码({ }使用)

import re
result = re.match(r"\d{11}","12345678901")	
print (result.group())

有些电话号码中间有-,有些电话号码没有(?使用)

import re
result = re.match(r"\d{3}-?\d{8}","12345678901")	
print (result.group())
?前面的东西是可有可无的

文本的所有内容(.*可以匹配所有内容(可以没有内容) 但不包括\n)

import re
result = re.match(r".*","ddddd")	
print (result.group())

升级版 把\n也匹配出来

import re
result = re.match(r".*","ddddd\nxxxxx",re.S)	
print (result.group())

.+与.*类似,但.+必须有内容

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值