正则表达式——文本定位:

一、应当具备的两种思维

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)

正则表达式——文本定位相关推荐

  1. Python笔记-UiSelector文本定位方式(3种定位并点击)

    文本定位方式有3种: 1:文本匹配: 2:文本包含: 3:正则表达式 import uiautomator2 as u2d = u2.connect_usb("8681-A01-0xc60f ...

  2. python使用xpath文本定位元素

    背景 今天用selenium爬"证券日报"的搜索页,前面的"获取源代码"."数据提取"."数据清洗"都挺顺利,就是到了这 ...

  3. 【OCR】中文街景数据集、场景文本定位识别新网络:End2End-PSL

    #ICCV2019# 百度&香港大学提出新的中文街景数据集:C-SVT 和场景文本定位&识别新网络:End2End-PSL,表现 SOTA! #场景文本识别# 中国街景文本:大规模中文 ...

  4. ABCNet 精读:使用自适应贝塞尔曲线网络进行进行实时场景文本定位 OCR 文本定位 文本检测 CVPR

    文章目录 ABCNet 导读:使用自适应贝塞尔曲线网络进行进行实时场景文本定位 ABCNet:Real-time Scene Text Spotting with Adaptive Bezier-Cu ...

  5. 免费开源的高精度OCR文本提取,支持 100 多种语言、自动文本定位和脚本检测,几行代码即可实现离线使用(附源码)

    免费开源的高精度OCR文本提取,支持 100 多种语言.自动文本定位和脚本检测,几行代码即可实现离线使用(附源码). 要从图像.照片中提取文本吗?是否刚刚拍了讲义的照片并想将其转换为文本?那么您将需要 ...

  6. 论文阅读2--Video text localization based on Adaboost(基于Adaboost的视频文本定位)阅读笔记

    目录 写在前面: 0.Abstract 1.Introduction 2.The candidate TEXT areas detection(检测候选文本区域) 2.1 Gray processin ...

  7. [正则表达式]文本框输入内容控制

    整数或者小数:^[0-9]+\.{0,1}[0-9]{0,2}$ 只能输入数字:"^[0-9]*$". 只能输入n位的数字:"^\d{n}$". 只能输入至少n ...

  8. (九) 正则表达式——文本处理(用s///替换、split与join函数、列表上下文中的m//、非贪婪量词、文件更新等)

    文章目录 一.s///替换 1.1.替换的规则要点 1.2.代码示例 二.split与join函数--字符串拆分与组合 三.列表上下文中的m// 四.非贪婪量词--加问号(?) 五.跨行的模式匹配-- ...

  9. 正则表达式——文本处理的“东风导弹”

    如何做 整合之前学习成果.包括 evernote.youdaonode 里面的东西. 探索 Linux 里面的正则表达式 python 里面的正则表达式 Java 里面的正则表达式 通用型的正则表达式 ...

最新文章

  1. pytorch记录:seq2seq例子看看这torch怎么玩的
  2. 李超线段树(Li-Chao Segment Tree)
  3. 阿里从来不只属于马云,但马云会永远属于阿里
  4. python招聘笔试题_滴滴2020年春招笔试题分析(Python)
  5. python 编程一日一练-「每日一练」巧用python生成随机数
  6. ios加速计(可以用来检测摇动,自定义反应灵敏度)
  7. muduo网络库学习(二)对套接字和监听事件的封装Channel
  8. Effective Java之EnumMap代替序数索引(三十三)
  9. java 解决汉诺塔问题
  10. 利用VBA导出幻灯片为图片
  11. 本地mysql无法监听_查询数据库出错,监听器无法监听
  12. android progressbar 自定义圆形旋转图片,Android progressBar 自定义圆形旋转图片
  13. 杭电1597 find the nth digit
  14. Desktop imags
  15. 学一门计算机语言大体的过程,学习一门新编程语言的6个步骤
  16. 前端(html[5],css[3])学习总结+参考手册下载
  17. latex系列---Latex参考文献的引用
  18. android 手机内存64实际不到,手机拥有64G,为何用了不到1G,就显示内存不足?是谁在搞鬼?...
  19. 对超级课程表产品的一些个人小看法
  20. 注重实效的程序员之快速参考指南

热门文章

  1. 操作系统与网络 2019-1-28
  2. 「镁客·请讲」BeanVR秦凯:VR体验太孤独?我们要做娱乐性的社交产品
  3. vue+scss实现一键换肤
  4. MATLAB robotics tools工具箱下载安装
  5. 单开双控_如何将单开单控改为双控开关,附详细的开关接线图
  6. JavaScript——三大家族总结
  7. (韩顺平)08 面向对象编程(中级部分)(自用)
  8. 初探lowmem_reserve_ratio
  9. maya脚本用python还是mel_Maya的mel脚本需要注意的几个地方和技巧
  10. android 手表和手机图片,一图看懂小米手表/Color连接iPhone/安卓手机的功能差别