正则表达式——文本定位
正则表达式——文本定位:
一、应当具备的两种思维
1、用字符的角度看文本
2、区分元字符和特殊符号
*这里说的文本定位并非是定位某些字符,而是定位某些分界
环视(lookaround)——不匹配字符串,仅仅匹配文本中特定位置
- 顺序环视:
肯定型顺序环视:如(?=\d),当前位置右侧是数字则匹配成功
否定型顺序环视:如(?!\d),当前位置右侧不是数字则匹配成功
- 拟序环视:
肯定型顺序环视:如(?<=\d),当前位置左侧是数字则匹配成功
否定型顺序环视:如(?
二、任务例子
有三个字符串,对其中数字字符串按从右向左每隔三位进行定位
字符串1:I borned in 1980 and I have 1235436405754 dollars
字符串2:I borned in 1980s and I have 1235436405754 dollars
字符串3:I borned in 1980 and I have 1235436405754
正则一:(?<=\d)(?=(\d\d\d)+$)
字符串1定位结果:无法匹配
字符串2定位结果:无法匹配
字符串3定位结果:I borned in 1980 and I have 1,235,436,405,754
【分析】
1、(?<=\d)分界左边应该有数字
2、?=(\d\d\d)分界右边应该有三位数字
3、’+$’ 匹配多个(\d\d\d),$确保后边不存在其他字符
4、字符串中,如果数字字符右侧有非数字字符不可以匹配
正则2:(?<=\d)(?=(\d\d\d)+\b)
字符串1定位结果:I borned in 1,980 and I have 1,235,436,405,754 dollars
字符串2定位结果:I borned in 1980s and I have 1,235,436,405,754 dollars
字符串3定位结果:I borned in 1,980 and I have 1,235,436,405,754
【分析】
1、\b匹配单词的开始或结束,通常英文的单词是由空格或标点符号或换行为分隔的,但是\b并不代表这些单词分隔符中的任何一个,只代表一个位置。
正则3:(?<=\d)(?=(\d\d\d)+\s)
字符串1定位结果:I borned in 1,980 and I have 1,235,436,405,754 dollars
字符串2定位结果:I borned in 1980s and I have 1,235,436,405,754 dollars
字符串3定位结果:无法匹配(后边没有空格,无法对应\s)
正则表达式——文本定位相关推荐
- Python笔记-UiSelector文本定位方式(3种定位并点击)
文本定位方式有3种: 1:文本匹配: 2:文本包含: 3:正则表达式 import uiautomator2 as u2d = u2.connect_usb("8681-A01-0xc60f ...
- python使用xpath文本定位元素
背景 今天用selenium爬"证券日报"的搜索页,前面的"获取源代码"."数据提取"."数据清洗"都挺顺利,就是到了这 ...
- 【OCR】中文街景数据集、场景文本定位识别新网络:End2End-PSL
#ICCV2019# 百度&香港大学提出新的中文街景数据集:C-SVT 和场景文本定位&识别新网络:End2End-PSL,表现 SOTA! #场景文本识别# 中国街景文本:大规模中文 ...
- ABCNet 精读:使用自适应贝塞尔曲线网络进行进行实时场景文本定位 OCR 文本定位 文本检测 CVPR
文章目录 ABCNet 导读:使用自适应贝塞尔曲线网络进行进行实时场景文本定位 ABCNet:Real-time Scene Text Spotting with Adaptive Bezier-Cu ...
- 免费开源的高精度OCR文本提取,支持 100 多种语言、自动文本定位和脚本检测,几行代码即可实现离线使用(附源码)
免费开源的高精度OCR文本提取,支持 100 多种语言.自动文本定位和脚本检测,几行代码即可实现离线使用(附源码). 要从图像.照片中提取文本吗?是否刚刚拍了讲义的照片并想将其转换为文本?那么您将需要 ...
- 论文阅读2--Video text localization based on Adaboost(基于Adaboost的视频文本定位)阅读笔记
目录 写在前面: 0.Abstract 1.Introduction 2.The candidate TEXT areas detection(检测候选文本区域) 2.1 Gray processin ...
- [正则表达式]文本框输入内容控制
整数或者小数:^[0-9]+\.{0,1}[0-9]{0,2}$ 只能输入数字:"^[0-9]*$". 只能输入n位的数字:"^\d{n}$". 只能输入至少n ...
- (九) 正则表达式——文本处理(用s///替换、split与join函数、列表上下文中的m//、非贪婪量词、文件更新等)
文章目录 一.s///替换 1.1.替换的规则要点 1.2.代码示例 二.split与join函数--字符串拆分与组合 三.列表上下文中的m// 四.非贪婪量词--加问号(?) 五.跨行的模式匹配-- ...
- 正则表达式——文本处理的“东风导弹”
如何做 整合之前学习成果.包括 evernote.youdaonode 里面的东西. 探索 Linux 里面的正则表达式 python 里面的正则表达式 Java 里面的正则表达式 通用型的正则表达式 ...
最新文章
- pytorch记录:seq2seq例子看看这torch怎么玩的
- 李超线段树(Li-Chao Segment Tree)
- 阿里从来不只属于马云,但马云会永远属于阿里
- python招聘笔试题_滴滴2020年春招笔试题分析(Python)
- python 编程一日一练-「每日一练」巧用python生成随机数
- ios加速计(可以用来检测摇动,自定义反应灵敏度)
- muduo网络库学习(二)对套接字和监听事件的封装Channel
- Effective Java之EnumMap代替序数索引(三十三)
- java 解决汉诺塔问题
- 利用VBA导出幻灯片为图片
- 本地mysql无法监听_查询数据库出错,监听器无法监听
- android progressbar 自定义圆形旋转图片,Android progressBar 自定义圆形旋转图片
- 杭电1597 find the nth digit
- Desktop imags
- 学一门计算机语言大体的过程,学习一门新编程语言的6个步骤
- 前端(html[5],css[3])学习总结+参考手册下载
- latex系列---Latex参考文献的引用
- android 手机内存64实际不到,手机拥有64G,为何用了不到1G,就显示内存不足?是谁在搞鬼?...
- 对超级课程表产品的一些个人小看法
- 注重实效的程序员之快速参考指南
热门文章
- 操作系统与网络 2019-1-28
- 「镁客·请讲」BeanVR秦凯:VR体验太孤独?我们要做娱乐性的社交产品
- vue+scss实现一键换肤
- MATLAB robotics tools工具箱下载安装
- 单开双控_如何将单开单控改为双控开关,附详细的开关接线图
- JavaScript——三大家族总结
- (韩顺平)08 面向对象编程(中级部分)(自用)
- 初探lowmem_reserve_ratio
- maya脚本用python还是mel_Maya的mel脚本需要注意的几个地方和技巧
- android 手表和手机图片,一图看懂小米手表/Color连接iPhone/安卓手机的功能差别