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

微信公众号设计与布局网站优化平台

微信公众号设计与布局,网站优化平台,手机在线做ppt的网站,快速提高网站权重提升文章目录 是什么?正则用法匹配单个字符匹配一组字符其他元字符核心函数 贪婪匹配和非贪婪匹配正则练习 是什么? 正则表达式(Regular Expression)是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊…

文章目录

  • 是什么?
  • 正则用法
    • 匹配单个字符
    • 匹配一组字符
    • 其他元字符
    • 核心函数
  • 贪婪匹配和非贪婪匹配
  • 正则练习

是什么?

正则表达式(Regular Expression)是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符"),可以用来描述和匹配字符串的特定模式。

正则表达式是一种用于模式匹配和搜索文本的工具。

正则表达式提供了一种灵活且强大的方式来查找、替换、验证和提取文本数据。

正则表达式可以应用于各种编程语言和文本处理工具中,如 JavaScript、Python、Java、Perl 等。

也就是说,正则表达式是用来筛选信息的工具,用于匹配查找替换等操作,它是一串特殊字符的集合。正则表达式用来匹配有相似特征的字符串

#为什么要用正则表达?

就是在表单验证时,准确的判断一个字符串是不是某种固定格式。比如邮箱的验证、手机号的验证等。目的是避免恶意用户的乱输入,使表单的收集是我们想要的格式!

想象一下,您正在编写应用程序,并且您希望在用户选择用户名时设置规则。我们希望用户名可以包含字母,数字,下划线和连字符。
为了让它看起来不丑,我们还想限制用户名中的字符数量。这时我们可以使用正则表达式来验证用户名

也就是说,使用正则表达式的意义在于将数据转化为用户需要的格式,使信息更加形象表达,方便查找是否有恶意信息

正则用法

匹配单个字符

记号说明
.匹配任意单个字符(换行符除外). 表示真正的.
[…x-y…]匹配字符集合里的任意单个字符
[^…x-y…]匹配不在字符组里的任意单个字符
\d匹配任意数字,与[0-9] 同义
\w匹配任意数字、字母、下划线,与[0-9a-zA-Z_] 同义
\s匹配空白字符,与[\r\v\f\t\n] 同义

匹配一组字符

记号说明
字符串匹配字符串值
字符串1|字符串2匹配字符串1或字符串2
*左邻第一个字符出现0 次或无穷次
+左邻第一个字符最少出现1 次或无穷次
?左邻第一个字符出现0 次或1 次
{m,n}左邻第一个字符出现最少m 次最多n 次

其他元字符

记号说明
^匹配字符串的开始 集合取反
$匹配字符串的结尾
\b匹配单词的边界,单词包括\w 中的内容
()对字符串分组
\数字匹配已保存的子组

核心函数

核心函数说明
re.findall()在字符串中查找正则表达式的所有(非覆盖)出现;返回一个匹配对象的列表。
re.match()尝试用正则表达式模式从字符串的开头匹配 如果匹配成功,则返回一个匹配对象 否则返回None
re.search()在字符串中查找正则表达式模式的第一次出现 如果匹配成,则返回一个匹配对象 否则返回None
re.group()使用match 或者search 匹配成功后,返回的匹配对象 可以通过group() 方法获取得匹配内容
re.finditer()和findall() 函数有相同的功能,但返回的不是列表而是迭代器 对于每个匹配,该迭代器返回一个匹配对象
re.split()根据正则表达式中的分隔符把字符分割为一个列表,并返回成功匹配的列表字符串也有类似的方法,但是正则表达式更加灵活
re.sub()把字符串中所有匹配正则表达式的地方换成新的字符串

贪婪匹配和非贪婪匹配

贪婪匹配:尽可能匹配多的字符

非贪婪匹配:尽可能匹配少的字符

如下面的代码,要匹配中间的数字,但是他的输出结果只有7,这是因为在贪婪匹配下,(\d+)前的.*会尽可能匹配多的字符,而(\d+)是匹配任意个数字,没有说具体几个数字,这样他就会匹配将llo 123456都匹配,只留一个数字给(\d+)匹配,这样(\d+)就只能匹配到7

import res='hello 1234567 world'
res = re.match('he.*(\d+).*rld$',s)print(res.group(1))

如果要输出1234567,就要将匹配变为非贪婪匹配,在.*后加一个?,匹配尽可能少的字符,这样一来,.*?匹配到llo后面的空格后就不再匹配,而是交给(\d+)匹配,这样就能匹配到1234567了:

import res='hello 1234567 world'
res = re.match('he.*?(\d+).*rld$',s)print(res.group(1))

正则练习

Python环境下引入re模块,定义一个字符串:

>>> import re
>>> s="I say food not Good"

匹配ood字符串:

在这里插入图片描述

匹配出food,Good:
在这里插入图片描述

贪婪匹配:
在这里插入图片描述

非贪婪匹配:

在这里插入图片描述

用点和中括号匹配:

在这里插入图片描述

http://www.yidumall.com/news/59610.html

相关文章:

  • 想用自己电脑做服务器做个网站吗竞价推广哪里开户
  • 外贸seo是什么意思啊搜索引擎优化方法包括
  • 网站用什么语言收录优美图片topit
  • 浙江建筑公司排名前100长沙整站优化
  • 有哪些网站做简历比较好2023年广州疫情最新消息
  • discuz论坛网站做的门户网站推广seo
  • wordpress建立企业网站百度的主页
  • asp 网站名字短信营销平台
  • 建站卖素材线上营销公司
  • 什么视频网站可以做链接地址百度seo公司
  • 视频网站如何做营销营销软文范文
  • 网络工程师难学吗百度词条优化
  • 如何提高网站的用户体验ue网络推广是以企业产品或服务
  • 今天全国疫情最新消息地图广州seo黑帽培训
  • 安徽一方建设招标网站什么是网络软文营销
  • 化妆品网站建设的维护怎么快速推广自己的产品
  • 网站开发方案书博客重庆网站优化排名推广
  • wordpress国内能用吗seo前线
  • 郴州市地图seo自学教程
  • 杭州网络科技网站建设seo顾问服务福建
  • 江西邮电建设工程有限公司网站成都网站快速排名提升
  • 有了主机如何做网站搜索引擎优化seo公司
  • 深度网网站建设方案每日新闻摘抄10条
  • 邯郸市网络公司正规seo关键词排名哪家专业
  • 安卓游戏模板下载网站网站推广的目的
  • 美国为华人做的网站网络优化工程师前景
  • 深一网站建设网络宣传的方法有哪些
  • 平台型网站制作友情链接建立遵循的原则包括
  • 建e网室内设计网下载搜索引擎环境优化
  • 凡科建站怎么保存网站seo外推软件