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

苏州公司企业网站建设徐州经济开发区网站

苏州公司企业网站建设,徐州经济开发区网站,做网站直播平台,国内做文玩的网站python正则表达式以及re模块 元字符 正则表达式的语法就由表格中的元字符组成#xff0c;一般用于搜索、替换、提取文本数据 元字符含义.匹配除换行符以外的任何单个字符*匹配前面的模式0次或1次匹配前面的模式1次或多次?匹配前面的模式0次或1次[]用于定义字符集#xff…python正则表达式以及re模块 元字符 正则表达式的语法就由表格中的元字符组成一般用于搜索、替换、提取文本数据 元字符含义.匹配除换行符以外的任何单个字符*匹配前面的模式0次或1次匹配前面的模式1次或多次?匹配前面的模式0次或1次[]用于定义字符集匹配方括号内的任何字符^匹配字符串的开头$匹配字符串的结尾\用于转义特殊字符使其失去特殊含义[^]匹配不在字符集中的任何字符|用于表示‘或’匹配两个或多个选择之一\d匹配任何数字字符\D匹配任何非数字字符\w匹配任何字母数字字符或下划线\W匹配任何非字母数字字符或下划线\s匹配任何空白字符\S匹配任何非空白字符 re模块 常用的re模块内置方法 re.方法名(表达式文本数据) re.search(pattern, string)从字符串中搜索匹配给定模式的第一个出现并返回一个匹配对象。re.match(pattern, string)尝试从字符串的开头匹配给定模式如果成功匹配则返回一个匹配对象。re.findall(pattern, string)查找字符串中所有与给定模式匹配的非重叠部分并返回一个列表。re.sub(pattern, replacement, string)在字符串中查找与给定模式匹配的部分并用替换字符串替换它们。re.compile(pattern)将正则表达式模式编译为一个正则表达式对象以便进行复用和更高效的操作。 search() 从给定的字符串的开头开始搜索并在字符串中查找第一个与模式匹配的子字符串。它只返回第一个匹配的结果并且不会查找后续的匹配 import repattern rapple string I have an apple and a banana match re.search(pattern, string) if match:print(type(match)) # class re.Matchprint(Found:, match.group()) # Found: appleprint(Start:, match.start()) # Start: 10print(End:, match.end()) # End: 15match() 与search()相似match()是从字符串的开头开始尝试匹配给定的正则表达式模式 import repattern rapple string I have an apple and a banana match re.match(pattern, string) if match:print(Found:, match.group()) # Found: appleprint(Start:, match.start()) # Start: 10print(End:, match.end()) # End: 15 findall() 查找并返回字符串中与给定正则表达式模式匹配的所有非重叠子字符串 import repattern r\d string There are 123 apples and 456 bananas matches re.findall(pattern, string) print(Matches:, matches) # 输出: Matches: [123, 456] sub() 将搜索到的字符替换 import repattern rapple string I have an apple and a banana replacement orangenew_string re.sub(pattern, replacement, string) print(new_string) # I have an orange and a bananacompile() 用于将正则表达式模式编译为一个可重复使用的正则表达式对象 import repattern r\d string There are 123 apples and 456 bananasregex re.compile(pattern) matches regex.findall(string) print(matches) # [123, 456]分组模式 以下是用()分组的正则表达式模式 group()中的参数可以提取分组后的数据的索引但这个索引是从1开始的为空则返回全部 import remob re.compile(r(\86)(\d\d\d)(\d\d\d\d)(\d\d\d\d)) phone_number1 mob.search(我的电话号码是8618900043210) print(电话号码 phone_number1.group()) # 电话号码8618900043210 print(前缀 phone_number1.group(1)) # 前缀86 print(前三位 phone_number1.group(2)) # 前三位189 print(中四位 phone_number1.group(3)) # 中四位0004 print(后四位 phone_number1.group(4)) # 后四位3210贪婪匹配与非贪婪匹配 默认情况下正则表达式使用贪婪匹配。它会尽可能多地匹配字符。 在贪婪模式下量词后面没有添加?时它会匹配尽可能长的字符串。非贪婪模式则反之 例如对于正则表达式 a.*b 和字符串 aabab贪婪匹配将匹配整个字符串 aabab而非贪婪模式仅仅是第一个 aab。 import re# 贪婪匹配示例 pattern1 ra.*b pattern2 ra.*?bstring aabab match1 re.search(pattern1, string) match2 re.search(pattern2, string)print(f贪婪模式{match1.group()}) # 贪婪模式aabab print(f非贪婪模式{match2.group()}) # 非贪婪模式aab^和$ ^表示匹配字符串的开头。当 ^ 放置在正则表达式的开头时它表示要匹配的内容必须出现在字符串的开头位置 import repattern r^(aaa)(\d) regex re.compile(pattern) match1 regex.search(aaa666这是信息的格式) match2 regex.search(信息的格式是aaa666) print(match1.group()) # aaa666 print(type(match2)) # class NoneType可以看到当开头不存在^所匹配的字符串时就会采不到数据 同理$就是表示匹配字符串的结尾它可以用来检查一个字符串是否以特定的模式结束 import repattern r(aaa)(\d)$ regex re.compile(pattern) match1 regex.search(aaa666这是信息的格式) match2 regex.search(信息的格式是aaa666) print(type(match1)) # class NoneType print(match2.group()) # aaa666多行模式Multiline Mode 在大部分爬虫案例中我们需要处理包含换行符的文本(当然现在爬虫也不咋用正则了~)这时就会用到多行模式(Multiline Mode) import repattern2 r^abc$ string2 abc\n123\nabc matches2 re.findall(pattern2, string2, re.MULTILINE) print(matches2) # [abc, abc](?P) (?P…) 是正则表达式中的一个语法构造用于给一个子模式子表达式命名以便在匹配结果中可以通过名称来引用 import repattern r(?Pyear\d{4})-(?Pmonth\d{2})-(?Pday\d{2}) text Todays date is 2022-09-30.match re.search(pattern, text) if match:year match.group(year)month match.group(month)day match.group(day)print(fYear: {year}, Month: {month}, Day: {day})
http://www.zqtcl.cn/news/830426/

相关文章:

  • phpcms网站什么网站都能进的浏览器
  • 建设配资网站有要求吗网站建设不一定当地
  • 永兴网站开发智慧门店管理服务平台
  • 网站建设前的市场分析李炎辉网站建设教程
  • 乱起封神是那个网站开发的?广州市建设注册中心网站首页
  • 网站开发配置网络广告的投放技巧
  • wordpress 漫画网站安徽省建设厅八大员报名网站
  • 音乐网站排名建设部证书查询网站
  • 长沙建站挺找有为太极wordpress eshop 教程
  • 郑州平台类网站网站开发常见面试题
  • 城乡建设网站职业查询系统做网站设计的需要什么材料
  • ui做的好看的论坛网站加工制造网
  • 南庄网站开发厦门建设局网站城市建设
  • 常州网站建设效果重庆招聘网
  • 做视频网站需要多大的带宽公众号怎么开通直播功能
  • 信息化网站建设引言南宁 网站建设
  • 怎么做外贸网站的邮箱签名做网站页面怎么做
  • 做文库网站怎么赚钱吗百度网盘下载官网
  • 带后台的网站模板下载wordpress文章置顶插件
  • 云阳营销型网站建设北京梵客装饰公司地址电话
  • 北京有哪些网站建设公司好网站做配置文件的作用
  • 网站制作定制做网站顾客提现金额后台
  • 歙县建设银行网站人员优化是什么意思
  • 网站建设需解决问题wp商城
  • 简单房地产网站在哪老版建设银行网站
  • 外贸网站如何做推广苏州小程序需要写网站建设方案书
  • 哪些企业会考虑做网站婚庆策划公司简介
  • php网站开发个人个人学做网站
  • php网站开发最新需求网站建设实习心得
  • 深圳公司的网站设计网页制作视频教程下载