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

泰安医院网站建设企业查询网

泰安医院网站建设,企业查询网,公司品牌的塑造网站建设,山东省工程建设协会网站1. 元字符符号 含义. 匹配除换行以外的任意字符^ 匹配字符串的开始位置,在[]中出现为非的意思$ 匹配字符串的结束位置* 匹配0次、1次或多次前面的原子? 匹配0次或1次前面的原子 匹配1次或多次前面的原子{n} 前面的原子恰好出现n次{n,} 前面的原子至少出现n次{n,m} 前面的原子至…

'''

1. 元字符

符号 含义

. 匹配除换行以外的任意字符

^ 匹配字符串的开始位置,在[]中出现为非的意思

$ 匹配字符串的结束位置

* 匹配0次、1次或多次前面的原子

? 匹配0次或1次前面的原子

+ 匹配1次或多次前面的原子

{n} 前面的原子恰好出现n次

{n,} 前面的原子至少出现n次

{n,m} 前面的原子至少出现n次,至多出现m次

| 模式选择符

() 模式单元符,作分组:在findall 中使用,返回的参数是()中匹配的值,不会管外面其他参数

(?:reg):取消优先级,在findall中使用,会返回满足全部正则的字符,而不是返回字符的一部分(reg是变量)

(?P);给分组指定name. (name是变量)

[] 字符集,里面出现的字符都只表示某一个字符,不会有转义问题

eg:

[a-z0-9A-Z] 数字,大小写字母中的一个

通用字符

符号 含义

\w 匹配任意一个字母、数字或下划线

\W 匹配除字符、数字和下划线以外的任意一个字符

\d 匹配任意一个十进制数

\D 匹配除十进制数以外的任意一个其它字符

\s 匹配任意一个空白字符

\S 匹配除空白字符以外的任意一个其它字符

\b:表示字母数字与非字母数字的边界, 非字母数字与字母数字的边界。

\B:表示字母数字与(非非)字母数字的边界,非字母数字与非字母数字的边界。

eg:匹配以a开头的字符串

str = 'adfd fdfad1a 2 a31 fda a'

pattern = r'\ba\w*\b'

print(re.findall(pattern,str))

2. 贪婪模式与懒惰模式

pattern1 = "p.*n" # 贪婪模式

pattern2 = "p.*?n" # 懒惰模式

?指定前一个数量元字符匹配次数为1(*为0-1)

3. 模式修正符

符号 含义

I 匹配时忽略字母大小写

M 多行匹配

L 做本地化识别匹配

U 根据Unicode字符及解析字符

S 使元字符"."匹配包括换行在内的所有字符

X 使存在分行符的正则表达式,也能正确匹配(目的:让表达式逻辑更清晰)

re.findall('pattern1','str',re.I)

4. RE中常用的方法(函数)

方法/属性 作用

re.match(pattern, string, flags=0) 从字符串的起始位置匹配,成功返回MatchObject 实例,失败就返回none

re.search(pattern, string, flags=0) 查找第一个成功的匹配,返回SearchObject 实例,失败就返回none

re.findall(pattern, string, flags=0) 找到RE匹配的所有字符串,并把他们作为一个列表返回

re.finditer(pattern, string, flags=0) 找到RE匹配的所有字符串,并把他们作为一个迭代器返回

re.sub(pattern, repl, string, count=0, flags=0) 替换匹配到的字符串

re.subn(pattern, repl, string, count=0, flags=0) 替换匹配到的字符串,并返回一个元组:(result,替换了几次)

re.split(pattern, string, maxsplit=0, flags=0) 根据正则,对源字符串进行切割

re.compile(pattern[, flags])

作用:把正则表达式语法转化成正则表达式对象,通过对象来调用函数

好处:

1.此函数是先编译为正则对象再来调用,因此在多次匹配时,可以减少编译次数

2.函数调用更简捷,不用再传pattern

函数参数说明:

pattern:匹配的正则表达式。

string:要匹配的字符串。

flags:标记为,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等等。

repl:替换的字符串,也可作为一个函数。

count:模式匹配后替换的最大次数,默认0表示替换所有匹配。

maxsplit:最大切割次数

分组函数返回实例:

方法/属性 作用

group(num=0) 匹配的整个表达式的字符串,group() 可以一次输入多个组号,在这种情况下它将返回一个包含那些组所对应值的元组。

groups() 返回包含所有小组字符串的元组,从1到所含的小组

groupdict() 返回以有别名的组的别名为键、以该组截获的子串为值的字典

start() 返回匹配开始的位置

end() 返回匹配结束的位置

span() 返回一个元组包含匹配(开始,结束)的位置

'''

import re

def re_object_test():

'''

类似的函数有:match()、search()…,返回值为一个对象

方法: 功能:

group() 返回 RE 匹配的字符串值

start() 返回 匹配开始的位置

end() 返回 匹配结束的位置

span() 以元组形式返回 匹配( 开始,结束 ) 的位置

'''

pattern = r"python." # 设定以 "python" 为切割标识符

string = "ABCpython2DEFpython3GHIpython4567"

result = re.search(pattern, string)

print(result.group()) # 输出匹配的内容

print(result.span()) # 输出匹配的位置信息

print(result.start()) # 输出匹配内容的 起始位置

print(result.end())

def sub_test():

'''

查找并替换

语法格式:

re.sub(pattern, repl, string, count=0, flags=0)

pattern:传入需要匹配的正则表达式。

repl:替换后的字符串

string:传入需要匹配的源字符串。

count:指定替换的个数

flags:标志位(可选参数),可传入“模式修正符”等信息。

'''

pattern = r"python."

string = "ABCpython2DEFpython3GHIpython4567"

result1 = re.sub(pattern, "java", string) # 默认替换所有

result2 = re.sub(pattern, "java", string, 2) # 替换 2 次

print(result1)

print(result2)

def split_test():

'''

语法格式:

re.split(pattern, string, maxsplit=0, flags=0)

pattern:传入需要匹配的正则表达式。

string:传入需要匹配的源字符串。

maxsplit:指定最大的切割次数

flags:标志位(可选参数),可传入“模式修正符”等信息。

'''

pattern = r"python" # 设定以 "python" 为切割标识符

string = "ABCpython2DEFpython3GHIpython4567"

result1 = re.split(pattern, string) # 全局切割

result2 = re.split(pattern, string, 2) # 只切割 2 次

print(result1)

print(result2)

def search_test():

'''

re.search(pattern, string[, flags])

返回第一个查找到的

作用:在字符串中查找匹配正则表达式模式的位置,返回 MatchObject

的实例,如果没有找到匹配的位置,则返回 None。

'''

pattern = r"(?Ppython)(?P.)"

string = "ABCpython2DEFpython3GHIpython4567"

res = re.search(pattern,string)

print(res.group('t'))

print(res.group(1))

print(res.groupdict())

print(res.span())

pass

if __name__ == "__main__":

# sub_test()

# split_test()

# re_object_test()

search_test()

http://www.lbrq.cn/news/2692747.html

相关文章:

  • 网站怎么做显得简洁美观需要推广的app在哪里找
  • 网站建设北京个人武汉疫情最新动态
  • 网站应该如何推广seo整站优化服务
  • 随州网站seo诊断长沙县网络营销咨询
  • 网上商城网站开发公司广州市口碑全网推广报价
  • 做网站能设置关键词在百度中搜索到win7一键优化工具
  • 上海网站建设哪家公司好外贸营销网站制作
  • 做我女朋友的套路网站软文代写是什么
  • 黄骅市住房和城乡建设局网站免费建站网站大全
  • 上海招考热线网站首页推广计划
  • 银川网站建设哪家便宜泰州百度公司代理商
  • 网站logo设计标准wordpress企业网站模板
  • 网站源码下载搭建互联网搜索引擎有哪些
  • 武汉做网站及logo的公司百度词条优化
  • 黄页是什么应用如何网站优化排名
  • 蔬菜配送网站建设不能搜的超级恶心的关键词
  • 建网站签合同最近一周新闻热点回顾
  • 花钱人做的网站做好后算谁的网站模板怎么建站
  • 如何将网站转成小程序网站开发技术有哪些
  • 做外贸做什么英文网站好百度 seo排名查询
  • 做电影网站需要什么手续长沙seo排名收费
  • 网站建设的文档海南网站制作公司
  • 简洁中文网站模板宝塔建站系统
  • 网站空间空间中国站长站官网
  • 四川做直销会员网站网络营销推广服务商
  • 专门做java项目的网站seo快速排名是什么
  • 网站推广怎么做的搜索引擎优化的核心是
  • 百度采购网seo做得比较好的公司
  • 上海宝山区做网站的最新热搜新闻事件
  • 网站seo教程网站域名ip地址查询
  • Jenkins一直无法启动,怎么办?
  • 正则表达式解析(二)
  • 简单Modules 的配置与管理,灵活应对多版本软件环境的需求。
  • [激光原理与应用-221]:设计 - 皮秒紫外激光器 - 常见技术难题、原因与解决方案
  • 机器学习——多元线性回归
  • Redis 数据类型和单线程模型补充