Skip to main content

ExtractText

描述:

根据数据流的内容定义正则表达式,这些正则表达式的结果将分配给数据流属性。正则表达式与用户定义参数联合使用,参数名映射到属性名,属性内容将被映射的参数名称结果所取代。第一个捕获组(如果有),将被放入该属性名。如果有多个捕获组,那么他们(包括匹配的字符串序列本身)将提供给带有索引值的该属性名,可选且不匹配的捕获组除外--例如,给定属性名称“regex”和表达式“abc(def)?(g)”, 如果“def”匹配,我们将添加属性“regex.1”,其值包含“def”。如果“def”不匹配,则不会添加名为“regex.1”的属性,但会添加名为“regex.2”且值为“g”的属性。参数的值必须是有效的具有一个或多个捕获组的正则表达式。如果正则表达式匹配多次,则仅使用第一个匹配,除非启用重复捕获组的参数设置为true。如果匹配正则表达式,则数据流将被路由到“匹配”。如果无正则表达式匹配,则数据流将路由到“不匹配”,并且不会将任何属性应用于数据流

标签:

评估,解析,文本,正则表达式,regex

参数:

如下列表中,必填参数则标识为加粗. 其他未加粗参数,则表示为可选参数。表中同时提到参数默认值设置.

名字默认值允许值列表描述
字符编码UTF-8数据编码字符集编码
最大缓冲大小1 MB指定要应用正则表达式的缓冲区(每个数据流)的最大数据量。 大于指定最大值的数据将无法完全评估
捕获组最大长度1024指定捕获组值可以具有的最大字符数。超出最大值的字符将被删截
启用规范等价不启用
- 启用
- 不启用
表示两个字符只有规范分解完全匹配时,才算匹配
启用不区分大小写的匹配不启用
- 启用
- 不启用
表示大小写不同的两个字符依旧匹配。同样适用嵌入式标记(?i)
允许空格和注释不允许
- 允许
- 不允许
在此模式下,将忽略空格,并且忽略以\uff03开头的嵌入式注释直到行结束。同样适用嵌入标记(?x)
启用DOTALL模式不启用
- 启用
- 不启用
表示表达式中'.' 可匹配任何字符,包括行终止符。同样适用嵌入式标记 (?s)
启用文字解析不启用
- 启用
- 不启用
表示元字符和转义字符没有特殊含义
启用多行模式不启用
- 启用
- 不启用
表示'^'和'$'在行终止符或序列结束之前和之后匹配,而不是仅匹配整个输入的开头或结尾。同样适用嵌入式标记(?m)
启用Unicode大小写折叠不启用
- 启用
- 不启用
与“启用不区分大小写的匹配”一起使用时,以与Unicode标准一致的方式进行匹配
启用Unicode预定义字符类不启用
- 启用
- 不启用
指定符合Unicode技术标准#18: Unicode正则表达式附录C: 兼容性参数。同样适用嵌入式标记(?U)
启用Unix行模式不启用
- 启用
- 不启用
表示在'.','^'和'$'的行为中只'
'被识别为行终止符。同样适用嵌入式标记(?d)
包含捕获组0包含
- 包含
- 不包含
表示应将捕获组0作为属性包含在内。捕获组0表示正则表达式匹配的全部,可能具有相当大的长度,通常不使用
启用循环捕获组不启用
- 启用
- 不启用
如果设置为启用,则将提取与捕获组匹配的每个字符串。否则,如果正则表达式匹配多次,仅提取第一个匹配项

动态参数:

名字描述
A FlowFile attributeA Regular Expression with one or more capturing group第一个捕获组(如果有),将被放入对应属性名。如果有多个捕获组,那么他们(包括匹配的字符串序列本身)将提供给带有索引值的该属性名
不支持表达式语言

连线:

名字描述
unmatched当无正则表达式匹配数据流内容时,数据流将被路由到此连线
matched当正则表达式匹配且更新数据流时,数据流将被路由到此连线

读取属性:

未提供。

写入属性:

未提供。

状态管理:

该组件不保存状态。

限制:

该组件没有限制

输入流要求:

组件必须提供输入流。

系统资源考量:

未提供。