一、任务

正则表达式在各种语言中都在使用,在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中的使用正则表达式之向前看向后看(前瞻后顾)相关推荐

  1. oracle正则判断身份证号,Oracle中查询使用正则表达式函数REGEXP

    Oracle中的Like操作符使用"_"和"%"作为通配符,使用就像这样: Java代码 SELECT name FROM test_like WHERE na ...

  2. php正则运用,php中常用的正则表达式的介绍及应用实例代码

    更全面的实例,可以参考 最常用的PHP正则表达式收集整理 //www.jb51.net/article/14049.htm php 正则表达式小结 //www.jb51.net/article/198 ...

  3. java正则表达式匹配数字范围_在java中怎么利用正则表达式匹配数字

    在java中怎么利用正则表达式匹配数字 发布时间:2020-12-03 17:47:12 来源:亿速云 阅读:58 作者:Leah 在java中怎么利用正则表达式匹配数字?针对这个问题,这篇文章详细介 ...

  4. 在python中,用正则表达式提取多层括号中最外层括号包含的内容

    提取多层括号中最外层括号包含的内容有几种方式,那么用正则表达式该怎么实现呢? 在python中,用正则表达式提取多层括号中最外层括号包含的内容 比如有一个字符串 : 学习python中有什么不懂的地方 ...

  5. fme中oracle转shp,FME中CASS扩展属性转SHP的方法

    原标题:FME中CASS扩展属性转SHP的方法 问题:真受不了CAD中的注记,只能方便显示,难于数据交互.好在CASS把属性信息基本写在扩展属性中,但显示又成问题了.此事难两全!我们通过查看实体属性, ...

  6. like效率 regexp_Oracle 中like效率 正则表达式 浅析

    Oracle 中like常用但是其效率不是高. 特别是使用%a%----->全局扫描,没有利用到任何索引. 情况可以的条件尽量下使用a%------>可以利用正序的索引. %a------ ...

  7. php的正则表达式函数,php中常用的正则表达式函数

    php中常用的正则表达式函数 * preg_match() * preg_match_all() * preg_replace() * preg_filter() * preg_grep() * pr ...

  8. iOS中常用的正则表达式

    正则表达式是什么鬼呀?(大神请绕路哦) 在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要.正则表达式就是用于描述这些规则的工具.换句话说,正则表达式就是记录文本规则的代码.很 ...

  9. 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 ...

  10. FME进阶视频教程: FME使用技巧之高级扇出,讲解在FME中输出数据的高级方式,满足数据个性化分类输出的需求

    教程简介 FME是一套将不同GIS数据模型和要素进行整合处理的强大软件软件,可用于读写存储和转换各种空间数据.FME支持超过300种数据格式的读写,满足日常办公.测绘.地理信息等方面的数据读写.处理需 ...

最新文章

  1. grub2 命令行进入系统
  2. 经典!工业界深度推荐系统与CTR预估必读的论文汇总
  3. 小鹏汽车招股书,满是智能技术自研的标签
  4. tomcat基本使用和超图基本jsp例子
  5. iOS---A valid provisioning profile for this executable was not found
  6. 对比四大企业级linux版本_Linux家族族谱
  7. 冠军奖10万日元+10公斤柠檬!一个简单的柠檬图像分级竞赛
  8. [LeetCode] 679. 24 Game(回溯法)
  9. 新闻组的查看方法-----转载
  10. redis linux中的安装
  11. 15.explain
  12. python 动态加载代码_python 动态网页爬取?(不是加载更多页的动态网页哟)?...
  13. 删除电脑桌面的IE(Internet Explorer)浏览器图标
  14. 星星之火-26:3G CDMA系统中单用户的扩频原理
  15. 爬取北京二手房数据信息(python)
  16. vnc却显示 failed to connect:操作成功完成。(0)
  17. 靶机渗透练习58-digitalworld.local:VENGEANCE
  18. 小米计算机使用技巧,小米手机使用小技巧(小米10手机玩机技巧)
  19. uni-popup滚动无效的解决方案
  20. 华为S9306 如何进行访问控制配置

热门文章

  1. 瑞尔森大学计算机网络专业怎么样,瑞尔森大学计算机网络硕士录取.pdf
  2. 数据结构:图:图形和图形模型(Graphs and Graph Models)
  3. 中兴力维动环监控接线图_肖东晖:动环是基本点 视频监控是增长点
  4. 【论文】论文阅读记录
  5. “梧桐杯”中国移动大数据应用创新大赛 - 智慧金融赛道Baseline
  6. 让连续的英文或数字自动换行
  7. PCB 板弯了怎么办?pcb板弯翘原因分析及改善方法
  8. Yuuki and a problem (树套树)
  9. 软考高项 : (14)论信息系统项目的沟通管理
  10. 2018年sfdc工作总结_前端绑数据 前端定义勿用驼峰命名法