python竖线_6.1. re模块搜索时要注意竖线|的使用
6.1. re模块搜索时要注意竖线"|"的使用
某次,对于字符串footerUni=u"分类: | 标签:";
使用:foundCatZhcn = re.search(u"分类:(?P.+)|", footerUni);
print "foundCatZhcn=",foundCatZhcn;
if(foundCatZhcn):
print "foundCatZhcn.group(0)=",foundCatZhcn.group(0);
print "foundCatZhcn.group(1)=",foundCatZhcn.group(1);
catName = foundCatZhcn.group("catName");
print "catName=",catName;
所得到的结果却是:foundCatZhcn= <_sre.SRE_Match object at 0x027E3C20>
foundCatZhcn.group(0)=
foundCatZhcn.group(1)= None
catName= None
其中group(0),不是所期望的整个匹配的字符串,且group(1)应该是一个空格的字符,而不是None。
调试了半天,最后终于找到原因了,原来是在正则搜索中,竖线"|",是or的关系“'|'
A|B, where A and B can be arbitrary REs, creates a regular expression that will match either A or B. An arbitrary number of REs can be separated by the '|' in this way. This can be used inside groups (see below) as well. As the target string is scanned, REs separated by '|' are tried from left to right. When one pattern completely matches, that branch is accepted. This means that once A matches, B will not be tested further, even if it would produce a longer overall match. In other words, the '|' operator is never greedy. To match a literal '|', use \|, or enclose it inside a character class, as in [|].”
所以此处匹配到的结果是空值
所以测试过程中,无论如何修改re中的表达式,也都会得到foundCatZhcn是非空的值
然后对应的解决办法是,给竖线加上反斜杠,表示竖线字符本身:foundCatZhcn = re.search(u"分类:(?P.*?)\|", footerUni);
这样才能真正自己想要的效果。
python竖线_6.1. re模块搜索时要注意竖线|的使用相关推荐
- python中glob模块怎么下_如何在Python中使用glob.glob模块搜索子文件夹?
如何在Python中使用glob.glob模块搜索子文件夹? 我想在文件夹中打开一系列子文件夹,找到一些文本文件并打印一些文本文件行. 我用这个: configfiles = glob.glob('C ...
- Python学习(六)模块
Python 模块 模块定义 随着程序越来越庞大,需要分隔成几个文件:也需要能在不同文件中复用函数.类和变量,而不是拷贝代码.为了满足这些需要,Python提供了模块. 简单来说,模块就是一个保存了P ...
- python模块搜索路径 (sys.path)
导入一个叫 spam 的模块时,解释器先在当前目录中搜索名为 spam.py 的文件,然后在环境变量 PYTHONPATH 表示的目录列表中搜索,然后是环境变量 PATH 中的路径列表.如果 PYTH ...
- python-模块入门二(模块循环导入,区分python文件的两种用途,模块搜索路径,软件开发的目录规范)...
一.模块的循环导入问题 run.py # import m1 # 第一次导入 m1.py # 错误示范 ''' print('正在导入m1') from m2 import y #第一次导入m2 x= ...
- python import sql脚本_13-模块介绍-import两种方式-py文件的两种用途-模块搜索路径-项目开发的目录规范...
1.模块的介绍与使用模块import 1.1.模块的介绍 1.1.1.什么是模块? 模块就是一组功能的集合体,我们的程序可以导入模块来复用模块里的功能.在python中,模块的使用方式都是一样的,但其 ...
- 【Python】Python3.7.3 - sys.path 模块搜索路径详解
文章目录 系统参考 sys.path - 模块搜索路径 用户站点目录(user site directory) 安装包到用户站点目录 第三方站点目录 site.py介绍 python启动选项 PYTH ...
- 用 .pth 文件附加 Python 模块搜索路径
上一篇 Python 的模块搜索路径,介绍了 Python 的模块搜索路径,最终起作用的是 sys.path 路径列表.如果要自定义自己的搜索路径,就是要怎么定制 sys.path 的内容.可以简单的 ...
- python 模块 导入机制 模块搜索 Python包 发布python模块或程序
python 模块 python模块:以.py结尾的代码文件. 顶层文件: 程序执行入口 模块文件1 模块文件2 模块文件3 在python中一 ...
- python如何跨模块调用变量_Python跨模块用户定义的全局变量:在其他模块运行时调用它们的问题...
我对Python相当陌生,目前正在学习如何在Python程序中使用函数和多个模块.在 我有两个模块"Functions_Practice_Main"(运行菜单)和"Fun ...
- Python编程语言学习:包导入和模块搜索路径简介、使用方法之详细攻略
Python编程语言学习:包导入和模块搜索路径简介.使用方法之详细攻略 目录 包导入和模块搜索路径简介 1.Pyhon搜索模块路径的机制 2.自定义配置搜索路径
最新文章
- 表单高级应用和语义化
- 面试必备杀技:SQL查询专项训练!
- 网络推广营销之网站优化选择优质友情链接的标准
- 投屏画面尺寸拉伸怎么办_手机投屏转换器设置方法图文教程
- FactoryBean
- php生成链接列表,根据URL链接和抛文本生成链接a标签的PHP函数
- python使用t-sne算法降维,方便可视化
- 3D视界迎来全息视角,VR呈现效果海报,引领未来
- TensorFlow工作笔记003---python异常大全IndentationError: unexpected indent_expected indented block
- 解读现代存储系统背后的经典算法
- 如何判断你和优秀AI算法工程师之间的差异?
- webstorm中文版修改
- 深圳:由“独角兽”们构建起的硬核科技之城
- AI 程序员码说摄影图像基础
- 打开word很慢(无网络时正常)
- SIGBUS:BUS_ADRERR for stack access violation in memcpy
- Vue开发实例(11)之el-menu实现左侧菜单导航
- 【Vue学习总结】22.使用Mint UI的infinite-scroll实现上拉分页加载
- XX nm制造工艺是什么概念?实现7nm制程工艺为什么这么困难?
- 视频封装格式以及编码格式说明
热门文章
- 神经元的结构是?包括髓鞘吗?|小白心理-347/312考研答疑
- 解决Windows 10 无法安装.msi文件的办法
- Xftp的下载、安装、使用
- 怎么使用7zip进行分批压缩_7z解压软件(7-zip)分卷压缩怎么做?
- 新建的module没有蓝色小块
- 利用135端口快速入侵个人PC电脑
- 基础知识——PMIC
- chemdraw怎么连接两个结构_用ChemDraw连接两个结构片段的教程
- 怎么把字母缩小当符号_必收藏干货!谭编教你轻松输入这些论文中的特殊符号:...
- 协同办公笔记软件综合评测:飞书、语雀、Notion、FlowUs、Wolai