【Python技巧】正则表达式:(?:)匹配多个字符串之一;(非获取匹配)
当需要匹配多个字符串其中之一时,如:匹配 你|我|她|他 四个字符串之一时,使用非元组捕获语。
(?:exp)
例子:
import re
content2 = "我市政协“我爱协商”新平台建设工作的加强与落实,搭建“协商在民主”新模式,推进“协商朋友圈”协商议事平台"
regex2 = re.compile("(?:探索|政协|推进|搭建)“.*?”(?:工作|协商议事平台|新模式|新平台)")
x2 = regex2.findall(content2)
print(x2)>>> ['政协“我爱协商”新平台', '搭建“协商在民主”新模式', '推进“协商朋友圈”协商议事平台']
>>> 3
字符 | 描述 |
---|---|
(pattern) | 匹配 pattern 并获取这一匹配。所获取的匹配可以从产生的 Matches 集合得到,在VBScript 中使用 SubMatches 集合,在JScript 中则使用 $0…$9 属性。要匹配圆括号字符,请使用 ‘(’ 或 ‘)’。 |
(?:pattern) | 匹配 pattern 但不获取匹配结果,也就是说这是一个非获取匹配,不进行存储供以后使用。这在使用 “或” 字符 ( |
(?=pattern) | 正向肯定预查(look ahead positive assert),在任何匹配pattern的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。例如,"Windows(?=95 |
(?!pattern) | 正向否定预查(negative assert),在任何不匹配pattern的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。例如"Windows(?!95 |
(?<=pattern) | 反向(look behind)肯定预查,与正向肯定预查类似,只是方向相反。简单说,以(?<=pattern)xxx为例,就是捕获以pattern开头的内容xxx。例如,"(?<=95 |
(?<!pattern) | 反向否定预查,与正向否定预查类似,只是方向相反。例如"(?<!95 |
【Python技巧】正则表达式:(?:)匹配多个字符串之一;(非获取匹配)相关推荐
- php 匹配非数字,正则表达式 - 获取匹配和非获取匹配
在使用正则表达式的时候,我们经常会使用括号()把某个部分括起来,称为一个子模式. 子模式有Capturing和Non-Capturing两种情况. Capturing指获取匹配,是指系统会在幕后将所有 ...
- python的正则表达式 re-------可以在字符串前加上 r 这个前缀来避免部分疑惑,因为 r 开头的python字符串是 raw 字符串,所以里面的所有字符都不会被转义...
正则表达式使用反斜杆(\)来转义特殊字符,使其可以匹配字符本身,而不是指定其他特殊的含义.这可能会和python字面意义上的字符串转义相冲突,这也许有些令人费解.比如,要匹配一个反斜杆本身,你也许要用 ...
- Python根据正则表达式找到相应的字符串然后进行替换
原数据内容如下: # hsCodehsCode = xml_data.xpath('//*[@id="hsCode"]/@value')if len(hsCode) > 0: ...
- javascript间接实现前端非获取匹配,保留带某前缀的子串不执行替换
<!DOCTYPE html> <html> <head> <script type="text/javascript">var s ...
- 匹配正则_程序员入门基础:python正则表达式贪婪匹配和非贪婪匹配
此文为python正则表达式的高阶入门,正则基础入门请参考程序员入门基础:python的正则表达式. 一.贪婪匹配和非贪婪匹配 举例说明概念: print('非贪婪匹配',re.search('el+ ...
- python中正则表达式的默认匹配方式为_Python模式匹配与正则表达式
1.1 不用正则表达式来匹配文本 假设我希望在一个字符串中找到电话号码,电话号码的格式为三个数字,一个短横线,四个数字,一个短横线,四个数字 比如:131-3310-5293和132-2670-986 ...
- python 正则 匹配任意字符串_python中正则匹配
写代码时候,不管是爬虫,还是获取某些特定的资源,我们需要写正则表达式. 因为不常用,有些语法生疏.有时明明觉得自己的语法可以,可就是不行. 正则表达式是一种文本模式,包括普通字符(例如,a 到 z 之 ...
- Python中正则表达式对单个字符,多个字符,匹配边界等使用
Regular Expression,正则表达式,又称正规表示式.正规表示法.正则表达式.规则表达式.常规表示法(英语:Regular Expression,在代码中常简写为regex.regexp或 ...
- 7.python之正则表达式re模块
一.正则表达式中常用元字符的复习. 通配符系列 .(点)匹配任意一个除换行符以外的字符. *(星号)用来匹配*星号前面的字符或者一组字符0到无穷次.可以写为0 +(加号)匹配加号前面的一个字符或者一组 ...
最新文章
- 3d 行为树编辑器_cocos creator主程入门教程——有限状态机和行为树
- webpack配置vue组件加载器
- Review Python Numpy 数组的初始化和基本操作
- 嵩天-Python语言程序设计程序题--第七周:文件和数据格式化
- springboot初始化逻辑_SpringBoot——启动初始化数据
- 黑客秘笈-渗透测试实用指南 第三版
- 甲骨文中国疯狂裁员 招聘网站上线“甲骨文人才专场”
- Spring_day3
- kafka的c/c++高性能客户端librdkafka简介/使用librdkafka的C++接口实现简单的生产者和消费者
- HIbernate学习笔记5 之 查询
- new与delete函数使用方法以及注意事项
- linux下安装打字软件,linux系统指法练习与打字游戏软件
- 阮一峰ES6入门学习笔记~~变量的解构赋值
- (微信小程序)微信小程序-毕设级项目搭建-微信小程序商城(内含源码,微信小程序+java逻辑后台+vue管理系统)
- seafile专业版集成微软的office online实现在线协同编辑
- 像素越多越好?像元的面积越小越好?为何底大一级压死人?
- UFS系列三:UFS数据包UPIU
- 绩效考核过程中会遇到的问题
- 计算机考研和不考研的区别,考研和不考研有什么区别?问清楚自己考研动机
- 一个智能省心的空空java代码生成平台上线了——前后端代码生成