当前位置: 首页 > news >正文

本地网站建设java培训

本地网站建设,java培训,画册什么网站做方便,少女映画wordpress目录 一、正则表达式 二、正则表达式的三个基础方法 1.match 从头匹配 2.search(匹配规则,被匹配字符串) 3.findall(匹配规则,被匹配字符串) 三、元字符匹配 单字符匹配: 注: 示例&a…

目录

一、正则表达式

二、正则表达式的三个基础方法

1.match 从头匹配

2.search(匹配规则,被匹配字符串)

3.findall(匹配规则,被匹配字符串)

三、元字符匹配

单字符匹配:

注:

示例:

找出特殊字符

找出全部的英文字母

找出单词字符 

数量匹配:

边界匹配

分组匹配

案例

注:


我们终将上岸,阳光万里

                                —— 24.11.15

一、正则表达式

正则表达式,又称规则表达式(Regular Expression),是使用单个字符串来描述、匹配某个句法规则的字符串,常被用来检索、替换那些符合某个模式(规则)的文本。

简单来说,正则表达式就是使用:字符串定义规则,并通过规则去验证字符串是否匹配

比如,验证一个字符串是否是符合条件的电子邮箱地址,只需要配置好正则规则,即可匹配任意邮箱。比如通过正则规则:(^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$),即可匹配一个字符串是否是标准邮箱格式

但如果不使用正则,使用if else来对字符串做判断就非常困难了:


二、正则表达式的三个基础方法

Python正则表达式,使用re模块,并基于re模块中三个基础方法来做正则匹配。

分别是:match、search、findall三个基础方法

re.match(匹配规则,被匹配字符,串)

从被匹配字符串开头进行匹配,匹配成功返回匹配对象(包含匹配的信息),匹配不成功返回空

1.match 从头匹配

import res = "一切都会好的"# match 从头匹配
res1 = re.match("一切", s)
print(res1)


2.search(匹配规则,被匹配字符串)

搜索整个字符串,找出匹配的。从前向后,找到第一个后,就停止,不会继续向后

import res = "一切都会好的"# search 从头到尾进行搜索
res2 = re.search("都会好", s)
print(res2)


3.findall(匹配规则,被匹配字符串)

匹配整个字符串,找出全部匹配项

找不到返回空list:[]

import re# findall 找出全部匹配项
s = "一切都会好的,我一直相信"
res3 = re.findall("一", s)
print(res3)


三、元字符匹配

在刚刚我们只是进行了基础的字符串匹配,正则最强大的功能在于元字符匹配规则。

单字符匹配:

注:

字符串前面带上r的标记,表示字符串中转义字符无效,就是普通字符的意思 

示例:

字符串 s = "一切都会好的_021104_我一直相信_YYSHlcl"

找出特殊字符

import res = "一切都会好的_@021104_我一直相信_@YYSHlcl"res1 = re.findall("\W",s)
print(res1)

找出全部的英文字母

import res = "一切都会好的_@021104_我一直相信_@YYSHlcl"# 字符串前面带上r的标记,表示字符串中转义字符无效,就是普通字符的意思
# 找出所有英文字符
res2 = re.findall(r"[a-zA-Z]",s)
print(res2)

找出单词字符 

import res = "一切都会好的_@021104_我一直相信_@YYSHlcl"# 字符串前面带上r的标记,表示字符串中转义字符无效,就是普通字符的意思
# 找出所有的单词字符
res3 = re.findall(r"\w",s)
print(res3)


数量匹配:


边界匹配


分组匹配


案例

匹配账号,只能由字母和数字组成,长度限制6到10位

规则为:^[0-9a-zA-Z]{6,10}$

匹配QQ号,要求纯数字,长度5-11,第一位不为0

规则为:^[1-9][0-9]{4,10}&

[1-9]匹配第一位,[0-9]匹配后面4到10位

匹配邮箱地址,只允许qq、163、gmail这三种邮箱地址

规则为:^[\w-]+(\.[\w-]+)*@(qq|163|gmail)(\.[\w-]+)+&

注:

字符串的 r 标记表示,字符串内转义字符无效,作为普通字符使用

import re
# 匹配账号,只能由字母和数字组成,长度限制6到10位
# 规则为:^[0-9a-zA-Z]{6,10}$
res1 = re.findall(r"^[0-9a-zA-Z]{6,10}$","954926928lcl")
print("res1:", res1)res2 = re.findall(r"^[0-9a-zA-Z]{6,10}$","954926928")
print("res2:", res2)# 匹配00号,要求纯数字,长度5-11,第一位不为0
# 规则为:^[1-9][0-9]{4,10}&
# [1-9]匹配第一位,[0-9]匹配后面4到10位
res3 = re.findall(r"^[1-9][0-9]{4,10}$","2952234004")
print("res3:", res3)# 匹配邮箱地址,只允许qq、163、gmail这三种邮箱地址
# 规则为:^[\w-]+(\.[\w-]+)*@(qq|163|gmail)(\.[\w-]+)+&
res4 = re.findall(r"(^[\w-]+(\.[\w-]+)*@(qq|163|gmail)(\.[\w-]+)+$)","lcl@163.com")
print("res4:", res4)res5 = re.findall(r"(^[\w-]+(\.[\w-]+)*@(qq|163|gmail)(\.[\w-]+)+$)","2952234004@qq.com")
print("res5:", res5)res6 = re.findall(r"(^[\w-]+(\.[\w-]+)*@(qq|163|gmail)(\.[\w-]+)+$)","1144099341@gmail.com")
print("res6:", res6)# 正则表达式中若有括号分组,则需要在正则表达式中加括号使正则表达式整体变为一个组
# match方法可以只输出完整的组
res7 = re.match(r"(^[\w-]+(\.[\w-]+)*@(qq|163|gmail)(\.[\w-]+)+$)","1144099341@gmail.com")
print("res7:",res7)

http://www.tj-hxxt.cn/news/66338.html

相关文章:

  • 河北项目建设备案网站天津网站推广
  • 网站建设平台 汉龙seo优化招商
  • 做涂鸦的网站百度收录哪些平台比较好
  • 受欢迎的南昌网站建设宁波正规优化seo软件
  • 阿坝州网站制作外贸企业网站制作哪家好
  • 企业整体vi设计seo网络营销推广公司深圳
  • 网站销售怎么样网络营销公司哪家好
  • 网站开发新型技术个人如何注册网址
  • dedecms 网站栏目管理如何建立网站服务器
  • 网站 域名解析错误关键词排名优化是什么意思
  • 卡盟做网站哪家竞价托管专业
  • 幼儿园网站静态模板2023网站推广入口
  • 专做运动品牌的网站9个广州seo推广神技
  • 六安做网站国内免费域名
  • 长沙营销型网站建设百度搜索排行榜
  • 物联网型网站开发河北百度竞价优化
  • 最新网站上海百度推广客服电话
  • 浙江温州疫情最新数据seo建站平台哪家好
  • 详述网站建设的过程免费的网络推广渠道
  • 网站备案编号查询如何设置友情链接
  • 天猫网站是怎么做seo优化的产品宣传方式有哪些
  • 网站后台文章编辑不了线上营销的方式
  • 网站文章内容优化方案建站教程
  • 建设专业网站哪家技术好百度一下京东
  • 国内做博彩网站代理seo排名优化厂家
  • 武汉网站制作定制新站整站快速排名
  • 湖南株洲建设局网站谷歌广告怎么投放
  • 技术外包平台seo外链建设的方法
  • 北京自助企业建站模板网络服务器配置与管理
  • 菏泽网站制作贴吧引流推广