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

江宁区住房与城乡建设局网站百度seo综合查询

江宁区住房与城乡建设局网站,百度seo综合查询,域名注册服务器,江门城乡建设局官方网站文章目录函数re.match函数re.search函数re.findall函数re.compile函数re.sub函数re.split函数修饰符正则表达式模式正则表达式实例函数 re.match函数 re.match()函数用于尝试从字符串的 起始位置 匹配一个模式,匹配成功返回一个匹配对象,否则返回None。…

文章目录

  • 函数
    • re.match函数
    • re.search函数
    • re.findall函数
    • re.compile函数
    • re.sub函数
    • re.split函数
  • 修饰符
  • 正则表达式模式
  • 正则表达式实例

函数

re.match函数

re.match()函数用于尝试从字符串的 起始位置 匹配一个模式,匹配成功返回一个匹配对象,否则返回None。
函数语法:re.match(pattern, string, flags=0)
实例:

import re# case_01
print(re.match(r'\d{4}-\d{2}-\d{2}', '2023-03-15'))
print(re.match(r'\d{4}-\d{2}-\d{2}', 'date:2023-03-15'))# case_02
line = "Dogs are smarter than cats"matchObj = re.match(r'(.*) are (.*?) .*', line, re.M|re.I)if matchObj:print("matchObj.group() : ", matchObj.group())print("matchObj.group(1) : ", matchObj.group(1))print("matchObj.group(2) : ", matchObj.group(2))print("matchObj.group(1,2) : ", matchObj.group(1,2))print("matchObj.groups() : ", matchObj.groups())else:print("No match!")

结果如下:
在这里插入图片描述

使用 group(num) 或 groups() 匹配对象函数来获取匹配表达式:
group(num=0): 匹配的整个表达式的字符串,group() 可以一次输入多个组号,在这种情况下它将返回一个包含那些组所对应值的元组。
groups(): 返回一个包含所有小组字符串的元组,从 1 到 所含的小组号。

re.search函数

re.search()函数用于扫描 整个字符串 并返回第一个成功的匹配,否则返回None。
函数语法: re.search(pattern, string, flags=0)
实例:

import re# case_01
print(re.search(r'\d{4}', 'abc1234'))
print(re.search(r'\d{4}', '123abc'))
print(re.search(r'\d{4}', 'abc0000d1234'))# case_02
line = "2斤黄瓜卖8.8元"pattern = r'(\d)斤(.*)卖(\d+(\.\d+)?)元'
matchObj = re.search(pattern, line, re.M|re.I)if matchObj:print(f'{matchObj.group(1)}\t{matchObj.group(2)}\t{matchObj.group(3)}')
else:print("No match!")

结果如下:
在这里插入图片描述

re.match与re.search的区别:
re.match只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None;
而re.search匹配整个字符串,直到找到一个匹配。

re.findall函数

re.findall()函数用于在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果有多个匹配模式,则返回元组列表,如果没有找到匹配的,则返回空列表。
函数语法: findall(string[, pos[, endpos]])
实例:

import re# case_01
content = "邮箱:qa@123.com;qa@456.com"
pattern = re.compile(r"""[a-zA-Z0-9-_]+@[a-zA-Z0-9]+\.[a-zA-Z]{2,4}
""", re.VERBOSE)result1 = pattern.findall(content)
result2 = pattern.findall(content, 0, 13)
print(result1)
print(result2)# case_02
result3 = re.findall(r'(\w+)=(\d+)', 'set width=20 and height=10')
print(result3)

结果如下:
在这里插入图片描述

re.compile函数

re.compile()函数用于编译正则表达式,生成一个正则表达式( Pattern )对象。
函数语法: re.compile(pattern[, flags])
实例:

import repattern = re.compile(r'\d+')
print(pattern.match('abc123'))
print(pattern.match('abc123', 3, 5))
print(pattern.search('abc123'))
print(pattern.findall('abc123efg456'))

结果如下:
在这里插入图片描述

re.sub函数

re.sub()函数用于替换字符串中的匹配项。
函数语法: re.sub(pattern, repl, string, count=0, flags=0)
实例:

import recontent = '手机号码:13580536956'pattern = r'(1[3-9][0-9])\d{4}([0-9]{4})'print(re.sub(pattern, r'\1****\2', content))	#手机号码:135****6956

re.split函数

re.split()函数按照能够匹配的子串将字符串分割后返回列表。
函数语法: re.split(pattern, string[, maxsplit=0, flags=0])
实例:

import reprint(re.split('\W+', 'abc, 123, .!?'))
print(re.split('\W+', 'abc, 123, .!?', 1))  # 分隔1次
print(re.split('d', 'abc, 123, .!?'))   # 找不到匹配的字符串不会分割

结果如下:
在这里插入图片描述

修饰符

正则表达式可以包含一些可选标志修饰符来控制匹配的模式。修饰符被指定为一个可选的标志。多个标志可以通过按位 OR(|) 来指定。如 re.I | re.M 被设置成 I 和 M 标志。

修饰符描述
re.I使匹配对大小写不敏感
re.M多行匹配,影响 ^ 和 $
re.S使 . 匹配包括换行在内的所有字符
re.U根据Unicode字符集解析字符。这个标志影响 \w, \W, \b, \B.
re.X该标志通过给予你更灵活的格式以便你将正则表达式写得更易于理解

正则表达式模式

修饰符描述
^匹配字符串的开头
$匹配字符串的末尾。
.匹配任意字符
[…]用来表示一组字符,单独列出:[abc] 匹配 ‘a’,‘b’或’c’
[^…]不在[]中的字符:[^abc] 匹配除了a,b,c之外的字符。
re*匹配0个或多个的表达式
re+匹配1个或多个的表达式。
re?匹配0个或1个由前面的正则表达式定义的片段,非贪婪方式
re{n}精确匹配 n 个前面表达式。例如, o{2}不能匹配 “Bob” 中的 “o”,但是能匹配 “food” 中的两个o。
re{n,}匹配 n 个前面表达式。例如, o{2,} 不能匹配"Bob"中的"o",但能匹配 "foooood"中的所有 o。“o{1,}” 等价于 “o+”。“o{0,}” 则等价于 “o*”。
re{n, m}匹配n到m次由前面的正则表达式定义的片段,贪婪方式
a|b匹配a或b
(re)对正则表达式分组并记住匹配的文本
\w匹配字母数字及下划线,等价于[a-zA-Z0-9_]
\W匹配非字母数字及下划线,等价于[^a-zA-Z0-9_]
\s匹配任意空白字符,等价于 [\t\n\r\f\v]。
\S匹配任意非空字符,等价于[^\t\n\r\f\v]
\d匹配任意数字,等价于 [0-9].
\D匹配任意非数字,等价于[^0-9]
\n, \t, 等.匹配一个换行符。匹配一个制表符。等
\1…\9匹配第n个分组的内容。

正则表达式实例

实例描述
n位数字^\d{n}$
至少n位数字^\d{n,}$
m-n位数字^\d{m,n}$
由26个小写英文字母组成的字符串^[a-z]+$
Email地址^\w+([-+.]\w+)@\w+([-.]\w+).\w+([-.]\w+)*$
手机号码^(14[5|7]|(13|15|18)[0-9])\d{8}$
国内电话号码(0511-4405222、021-87888822)\d{3}-\d{8}|\d{4}-\d{7}
身份证号(15位、18位数字),最后一位是校验位,可能为数字或字符X(^\d{15}$)|(^\d{17}(\d|X|x)$)
密码(以字母开头,长度在6~18之间,只能包含字母、数字和下划线)^[a-zA-Z]\w{5,17}$
日期格式^\d{4}-\d{1,2}-\d{1,2}
http://www.mmbaike.com/news/71843.html

相关文章:

  • 如何做专题网站国内网站建设公司
  • 访问wap网站百度竞价开户多少钱
  • 北京网站备案更换主体seo专员岗位职责
  • 杭州网站开发公司排名推广排名
  • 网页传奇app网站关键字优化公司
  • 武汉网络兼职网站建设百度搜索引擎
  • 专门装修的网都有什么网网站国外免费域名申请
  • 做分销网站好吗推广软文是什么
  • 网页显示站点不安全软文推广例子
  • 网站域名证书哪里获取爱站网长尾关键词搜索
  • 做网站平台的营业执照广州软文推广公司
  • 斗门区住房和城乡建设网站锦州seo推广
  • 网站怎么做移动端成都网络优化托管公司
  • 公司网站怎么做备案seo网站优化推广费用
  • 湖北网站建设公司怎么做网络推广最有效
  • 邯郸做网站哪家好bt磁力链好用的引擎
  • 深圳58同城网站建设如何模板建站
  • 民非单位年检那个网站做烟台网络推广
  • 有没有介绍做私家导游的网站企业培训考试系统
  • 橙色网站模板优化网站技术
  • 2017年网站外链怎么做seo推广价格
  • 台前网站建设属于b2b的网站有哪些
  • 免费申请手机号苏州seo怎么做
  • 人大网站 建设宁波seo外包代运营
  • 用c 做网站免费的短视频app大全
  • 义乌国贸学校网站建设深圳外贸网站制作
  • 网站ui设计之道网络营销的四种方式
  • 上传网站标志必应搜索引擎入口
  • 交通建设集团蓝商分公司网站徐州百度推广电话
  • 网站做全景图预览微信软文案例