StringSearcher
对指定表达正则表达式匹配。如果表达式模式匹配,特征经由输出匹配端口,以及匹配正则表达式的原搜索字符串的部分被存储在指定的属性“符合结果属性”(以及可选地匹配表示被存储在指定的属性列表中的块“匹配的零件属性“)。否则,它是输出通过NotMatched港口。
该变压器的名字和灵感来自Unix工具grep的,其搜索文本文件的模式。
参数
要搜索输入文本。
要使用该变压器来解析出的字符串的部分,正则表达式内的“子表达式”被使用。子表达式包含在括号(),以及匹配该子表达式输入的文本的所述部分存储在一个条目中的“匹配的零件属性”名单。这个列表的元素然后可以暴露通过右键点击它,并指示要暴露供以后使用的元素的数量工作台。请参阅下面的一些例子。
先进的正则表达式(ARES)的支持。战神的完整描述,请参阅语法Tcl的正则表达式中的FME功能和工厂手动,或见正则表达式信息。
简单地说,一个都是一个或多个分支,由|分隔,匹配任何匹配分支的东西。
特殊字符及其含义的简要总结:
| | 分隔“分支”(或选项) |
* | 前面的0个或多个匹配项的序列 |
+ | 前面的一个或多个匹配项的序列 |
是吗? | 0或1的序列与前面的匹配 |
。 | 匹配任何单个字符 |
^ | 匹配值的开头 |
$ | 匹配值的结尾 |
[ ] | 包含一组字符选项 |
() | 将“子表达式”括起来——与每个子表达式匹配的任何内容都放在“匹配的部分属性”{}list属性中 |
一 | 任何字符都可以列出以进行匹配 |
例子:
^一个 | 匹配以a开头的任何值 |
^[0-9] | 匹配以数字开头的任何值 |
^[0-9]+$ | 匹配任何仅由数字组成的值 |
^(牛肉鸡肉)$ | 匹配“牛肉”或“鸡肉”的值 |
^([0-9]*)([0-9]*)$ | 匹配由空格分隔的两个整数,并将第一个数字放入“Matched Parts Attribute”{0},将第二个数字放入“Matched Parts Attribute”{1} |
^N([0-9][0-9])[.]([0-9][0-9])[.]([0-9][0-9]) | 匹配n23.45.11并将23放入“matched parts attribute”{0},45放入“matched parts attribute”{1},11放入“matched parts attribute”{2}。 |
该正则表达式现场还可以包括任何数量的特殊字符。
文字可以表述为常规字符,但它们也可以包括任何数量的控制字符。
特殊字符序列(仅高级编辑器)将被解释如下:
顺序 | 说明 |
---|---|
Ctrl+Shift+h(^h) |
退格(0x08) |
CTRL+SHIFT+L(^L) |
表单馈送(0x0c) |
Ctrl+Shift+j(^j) |
换行符(0x0a) |
ctrl+shift+r(^m) |
回车(0x0d) |
Ctrl+Shift+i(^i) |
选项卡(0x09) |
ctrl+shift+k(^k) |
垂直选项卡(0x0b) |
定义特殊字符
您可以通过基本或高级编辑定义特殊字符。从参数菜单中单击打开编辑器:
基本的文本编辑器
选择常数从字符串类型列(或在某些变压器,值列),然后单击该列中的空白字段:
点击浏览按钮栏的打开一个编辑值对话框的权利。在这个编辑器,然后使用快捷键,从上表中的字符。
先进的文本编辑器
然后使用快捷键,从上表中的字符。
注:要查看制表符,点击左下角的选项菜单并选择显示空格/制表符。
注意,匹配可以是大小写敏感或大小写不敏感的,这取决于变压器的配置方式。
使用属性名称来存储匹配结果。默认属性名称_匹配字符。
属性列表名称用于存储可选匹配的子表达式。默认的属性列表名称是_匹配部件。
注:属性列表不是从工作台输出模式访问,除非他们使用的是对他们工作的变压器,比如先处理ListExploder要么ListConcatenator。所有属性列表中的变压器都显示在变压器帮助下的内容窗格清单。或者,AttributeExposer可以使用。
相关变形金刚
要更换子在一个字符串匹配一个正则表达式,使用StringReplacer变压器。
其他资源
测试使用正则表达式Rubular,一个基于Ruby的正则表达式编辑器。
编辑变压器参数
使用一组菜单选项,变压器参数可以通过引用在工作区中的其它元件来分配。更先进的功能,如高级编辑,算术编辑,也是一些变压器可用。要进入这些选项的菜单上,单击适用的参数旁边。欲了解更多信息,请参阅变压器参数菜单选项。
变压器分类
变压器历史
该变压器是以前命名判断HexDecoder。
搜索FME知识中心
搜索样品和有关该变压器上的信息FME知识中心。
标签关键词:判断HexDecoder