在FME中的使用正则表达式之向前看向后看(前瞻后顾)
一、任务
正则表达式在各种语言中都在使用,在FME中,其实后台就是Python,所以在FME使用正则表达式遵循Python语言的约定。
二、向前看向后看(前瞻后顾)的用法示例
语法 | 效果 | 示例 |
---|---|---|
str1(?=str2) | 查找str2前面的str1 | 白(?=萝卜) :提取“白萝卜”的“白” |
(?<=str2)str1 | 查找str2后面的str1 | (?<=白)萝卜 :提取“白萝卜”的“萝卜” |
str1(?!str2) | 查找后面不是str2的str1 | 黑(?!萝卜) :提取非“黑萝卜”的“黑” |
(?<!str2)str1 | 查找前面不是str2的str1 | (?<!黑)萝卜 :提取非“黑萝卜”的“萝卜” |
三、实际使用场景
3.1 提取经度的度,用到向前看(前瞻)直接指定获取°之前的数字即可,经度的度都是整数,此处用\d+即可。
3.2 提取经度的分,用到向前看+向后看(前瞻后顾),经度的分都是整数,此处用\d+即可。
3.3 提取经度的秒,同样也用到向前看+向后看(前瞻后顾),因为秒会有小数点,此时不再能用\d+,而是用.*代表任意个数的任意字符(见上图),但是可能会有非法字符在里面,例如空格。严肃的写法建议是[\d.]{1,} 代表数字或点出现1到无限次,就不会匹配到空格等非法字符(见下图)
四、小结
正则表达式对于匹配同样的字符可能有很多种方法,选择一种自己喜欢、可读性强,方便将来维护。正则表达式非常强大,语法却不是那么复杂,值得投入时间和精力学习一下。另外FME的正则表达式编辑验证器可能会匹配不到结果,但是实际是匹配上的,以运行结果为准,不要太过于相信自带的正则表达式编辑验证器。
在FME中的使用正则表达式之向前看向后看(前瞻后顾)相关推荐
- oracle正则判断身份证号,Oracle中查询使用正则表达式函数REGEXP
Oracle中的Like操作符使用"_"和"%"作为通配符,使用就像这样: Java代码 SELECT name FROM test_like WHERE na ...
- php正则运用,php中常用的正则表达式的介绍及应用实例代码
更全面的实例,可以参考 最常用的PHP正则表达式收集整理 //www.jb51.net/article/14049.htm php 正则表达式小结 //www.jb51.net/article/198 ...
- java正则表达式匹配数字范围_在java中怎么利用正则表达式匹配数字
在java中怎么利用正则表达式匹配数字 发布时间:2020-12-03 17:47:12 来源:亿速云 阅读:58 作者:Leah 在java中怎么利用正则表达式匹配数字?针对这个问题,这篇文章详细介 ...
- 在python中,用正则表达式提取多层括号中最外层括号包含的内容
提取多层括号中最外层括号包含的内容有几种方式,那么用正则表达式该怎么实现呢? 在python中,用正则表达式提取多层括号中最外层括号包含的内容 比如有一个字符串 : 学习python中有什么不懂的地方 ...
- fme中oracle转shp,FME中CASS扩展属性转SHP的方法
原标题:FME中CASS扩展属性转SHP的方法 问题:真受不了CAD中的注记,只能方便显示,难于数据交互.好在CASS把属性信息基本写在扩展属性中,但显示又成问题了.此事难两全!我们通过查看实体属性, ...
- like效率 regexp_Oracle 中like效率 正则表达式 浅析
Oracle 中like常用但是其效率不是高. 特别是使用%a%----->全局扫描,没有利用到任何索引. 情况可以的条件尽量下使用a%------>可以利用正序的索引. %a------ ...
- php的正则表达式函数,php中常用的正则表达式函数
php中常用的正则表达式函数 * preg_match() * preg_match_all() * preg_replace() * preg_filter() * preg_grep() * pr ...
- iOS中常用的正则表达式
正则表达式是什么鬼呀?(大神请绕路哦) 在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要.正则表达式就是用于描述这些规则的工具.换句话说,正则表达式就是记录文本规则的代码.很 ...
- python 正则表达式 前瞻_我应该如何在python中编写这个正则表达式(How should I write this regex in python)...
我应该如何在python中编写这个正则表达式(How should I write this regex in python) 我有字符串. st = "12345 hai how r u ...
- FME进阶视频教程: FME使用技巧之高级扇出,讲解在FME中输出数据的高级方式,满足数据个性化分类输出的需求
教程简介 FME是一套将不同GIS数据模型和要素进行整合处理的强大软件软件,可用于读写存储和转换各种空间数据.FME支持超过300种数据格式的读写,满足日常办公.测绘.地理信息等方面的数据读写.处理需 ...
最新文章
- grub2 命令行进入系统
- 经典!工业界深度推荐系统与CTR预估必读的论文汇总
- 小鹏汽车招股书,满是智能技术自研的标签
- tomcat基本使用和超图基本jsp例子
- iOS---A valid provisioning profile for this executable was not found
- 对比四大企业级linux版本_Linux家族族谱
- 冠军奖10万日元+10公斤柠檬!一个简单的柠檬图像分级竞赛
- [LeetCode] 679. 24 Game(回溯法)
- 新闻组的查看方法-----转载
- redis linux中的安装
- 15.explain
- python 动态加载代码_python 动态网页爬取?(不是加载更多页的动态网页哟)?...
- 删除电脑桌面的IE(Internet Explorer)浏览器图标
- 星星之火-26:3G CDMA系统中单用户的扩频原理
- 爬取北京二手房数据信息(python)
- vnc却显示 failed to connect:操作成功完成。(0)
- 靶机渗透练习58-digitalworld.local:VENGEANCE
- 小米计算机使用技巧,小米手机使用小技巧(小米10手机玩机技巧)
- uni-popup滚动无效的解决方案
- 华为S9306 如何进行访问控制配置
热门文章
- 瑞尔森大学计算机网络专业怎么样,瑞尔森大学计算机网络硕士录取.pdf
- 数据结构:图:图形和图形模型(Graphs and Graph Models)
- 中兴力维动环监控接线图_肖东晖:动环是基本点 视频监控是增长点
- 【论文】论文阅读记录
- “梧桐杯”中国移动大数据应用创新大赛 - 智慧金融赛道Baseline
- 让连续的英文或数字自动换行
- PCB 板弯了怎么办?pcb板弯翘原因分析及改善方法
- Yuuki and a problem (树套树)
- 软考高项 : (14)论信息系统项目的沟通管理
- 2018年sfdc工作总结_前端绑数据 前端定义勿用驼峰命名法