FME转换器 正则字符查找(StringSearcher)
文章目录
- StringSearcher
- 一、参数介绍
- 1.1 基础设置
- 1.2 高级设置
- 二、正则表达式介绍
- 2.1 基础用法
- 2.2 前瞻后顾用法
- 三、总结
前言:写了StringReplacer转换器后,说要介绍StringSearcher转换器的,如今鸽了好久。终于今天我来写下这篇介绍——StringSearcher。
StringSearcher
简介:将输入的字符串进行正则匹配。如果输入的字符串内容匹配正则表达式,该字符串会从Matched端口输出,并且匹配的字符内容会存储在指定的“Matched Result Attribute”属性列中(可选将多个匹配结果以列表形式存储在指定的“Matched Parts Attribute”属性列中)。其他未匹配的,从NotMatched端口输出。
一、参数介绍
1.1 基础设置
- Search In
输入用于正则匹配的字符串,通常选择输入的某个属性字段 - Contains Regular Expression
指定匹配正则表达式,用于检索输入的字符内容。 - Case Sensitive
设置是否区分大小写,适用于英文,中文无效。 - Matched Result Attribute
用于存储匹配结果的字段名称,默认名称为_first_match。若设置的名称与现有字段名称重复,会将其覆盖。
1.2 高级设置
- 全部匹配结果列表名称
该可选项设置后可以将所有的匹配结果存储在指定的列表中。不设置的情况下只会在存储匹配的第一个结果。 - 子匹配结果列表名称
该可选项设置后可以将所有的子表达式匹配结果存储在指定的列表中。不设置的情况下不存储子表达式的匹配结果。子表达式的匹配结果即为用括号“( )”包含起来的子表达式匹配的内容。
存储在列表中的属性内容通过2种方式获取:
- 通常属性获取器中选择列表属性后,设置下标序号获取对应的属性值。
- 使用ListExploder转换器将列表中所有的属性值暴露处来。
二、正则表达式介绍
2.1 基础用法
正则表达式是针对字符串处理的一种逻辑公式,既用事先定义好的特定字符及组合,形成一个“特定字符串判断逻辑”。这个“特定字符串判断逻辑”可以用来对字符串进行逻辑过滤。
字符 | 正则表达式字符介绍 | 例子 |
---|---|---|
| | 分支判断符:表达逻辑判断上的“或”,计算逻辑上的“or”关系。 | A|B |
* | 字符限定符:表达有任意个指定字符,包含0个 | A * ; * 等同于{0,} |
+ | 字符限定符:表达有一个以上指定字符,包含1个 | A+ ; +等同于{1,} |
? | 字符限定符:表达有0个或者1个指定字符 | A? ; ?等同于{0,1} |
{ } | 字符限定符:表达指定字符的允许出现次数 | A{1,3} 表示A可以出现1,2,3次; A{3,} 标识A可以出现3次以上,包含3次 |
. | 字符模式符:代表任意的单个字符 | .* 表示任意字符串 |
\d | 字符模式符:代表任意的单个数字 | \d+ 则表示任意一串数字; \d{6} 则表示一串6位数 |
^ | 位置指定符:代表开头的位置 | ^广州市 表示出现在开头的“广州市”字符 |
$ | 位置指定符:代表结尾的位置 | 北京路$ 表示出现在末尾的“北京路”字符; ^中国$ 则表示完全匹配,只有“中国”字符 |
[ ] | 集合限定符:用于包含字符集合 | [a-zA-Z] 表示任意英文字符;[一-龥] 表示任意汉字字符 |
( ) | 集合限定符:用于包含一个子表达式 | ^(\d{3})\d{8}$ 匹配11位数字并将前3位数字放入子匹配结果 |
2.2 前瞻后顾用法
语法 | 效果 | 例子 |
---|---|---|
str1(?=str2) | 查找str2前面的str1 | 白(?=萝卜) :提取“白萝卜”的“白” |
(?<=str2)str1 | 查找str2后面的str1 | (?<=白)萝卜 :提取“白萝卜”的“萝卜” |
str1(?!str2) | 查找后面不是str2的str1 | 黑(?!萝卜) :提取非“黑萝卜”的“黑” |
(?<!str2)str1 | 查找前面不是str2的str1 | (?<!黑)萝卜 :提取非“黑萝卜”的“萝卜” |
三、总结
StringSearcher转换器的使用效果主要看对正则表达式的理解程度和熟练程度,所以如果想提高StringSearcher转换器的使用效率则需要好好学习正则表达式的相关知识。
FME转换器 正则字符查找(StringSearcher)相关推荐
- FME转换器 文本替换(StringReplacer)
前言:今天我来介绍FME在数据处理中常用的字符替换处理器,字符替换处理器(StringReplacer)用于查找指定的文本并将其替换. 文章目录 StringReplacer 一.参数介绍 二.如果属 ...
- 正则表达式、常用的方法、正则字符、定位符、转义字符、分组与反向、元素运动、元素左右运行、运动函数封装
一.正则表达式 =>是一种模式,用于匹配字符串的模式 javascript 中内置的对象 RegExp 创建正则对象 构造函数方式 let reg=new RegExp('\d+') 字面量方式 ...
- indexof java_java indexOf()简单字符查找实例
java indexof()简单字符查找实例 int indexof(string ch); 就是查找字符/字符串ch在index以后的位置,如果没有找到返回-1;index可以有可以没有,没有时默认 ...
- 中文正则字符大全集2
正则字符大全集,上一篇文章的组合.混合在一起,更方便使用. 字符区间 中文名 0000-007F 是基本拉丁 0080-00FF 是拉丁补充 0100-017F 是拉丁扩展1 0180-024F 是拉 ...
- 常见操作String的方法(字符查找,索引查找)
常见操作String的方法(字符查找,索引查找) 在给定的字符串中查找字符或字符串是比较常见的操作.字符串查找分为两种形式:一种是在字符串中获取匹配字符(串)的索引值,另一种是在字符串中获取指定索引位 ...
- FME入门教程:第六节 FME转换器的使用
教程简介 本教程为适合新手学习的FME软件入门级教程,对FME的功能概念.界面及常用设置.数据读取.数据输出.转换器的使用.参数的使用.自定义转换器等几个方面进行讲解,引领进入FME的精彩世界. 课程 ...
- oracle instr找多个字符,Oracle instr() 字符查找函数
instr()函数的格式 (俗称:字符查找函数) 格式一:instr( string1, string2 ) / instr(源字符串, 目标字符串) 格式二:instr( string1 ...
- 利用DEDE正则批量查找替换数据库的自定义内容
正则的表达式在MY SQL中也有应用,但是在具体将查找的东西直接进行Replace的时候目前还不能解决,幸好后台中有个dede利用 正则,利用dede正则批量替换数据库中内容,这样我们完全减小了自己的 ...
- 中文汉字的正则字符编码范围
中文编码范围,中文汉字的正则也许用的着. 双字节字符编码范围: 1. GBK (GB2312/GB18030) \x00-\xff GBK双字节编码范围 \x20-\x7f ASCII \xa1-\x ...
- JavaScript正则——字符串匹配正则的方法
一.字符串匹配正则方法 语法:字符串.方法名称 1>search (类似于indexOf) 如果匹配,返回下标位置 如果不匹配,返回-1 查找a的下标位置 注: ①下标从0开始数: ②空格也需要 ...
最新文章
- 【十五分钟Talkshow】fmplan(十五分钟计划)的初步想法
- python实现简单爬虫功能(网站图片)
- java future设计模式
- C++检查给定数字是否为4的幂的算法实现(附完整源码)
- mysql主键自增长_全面的MySQL优化面试解析
- Java黑皮书课后题第9章:9.7(Account类)设计一个名为Account的类,它包含……。编写一个测试程序,创建一个账户ID为1122、余额为20000美元、年利率为4.5%的Account…
- 天池 在线编程 寻找字母(计数)
- mysql infobright 缺点_infobright、mongodb优劣以及适用范围
- mysql客户端 mariadb_配置MariaDB允许客户端远程连接
- gispython定义查询_定义查询方法
- .Net Core之初识及WebApi的简单使用和发布
- mcs51 串口通信 单片机发 pc收
- flash打造佛光效果实例教程
- python存根文件_python中的函数存根
- 指纹采集器测试软件,售完存档:小熊做的关于奔凯BIOCOME USB指纹采集器 指纹识别仪TCR4 Win7 Win8 Win10下的使用教程...
- 华为机试——字符串压缩(stringZip)
- ps 简笔画效果制作
- 十六进制颜色码与RGB颜色值的转换
- 无线路由器 mc服务器,无线路由器的mc地址.doc
- 企业数字化转型的步骤是什么?