ExtractText

2020-08-31 14:07:32 浏览数 (1)

描述

该处理器使用正则表达式,匹配流文件中的内容,并将匹配成功的内容输出到属性中;如果正则匹配到多个结果,默认只取第一个结果;匹配成功则流文件路由matched,没有匹配则到unmatched;

属性配置

在下面的列表中,必需属性的名称以粗体显示。任何其他属性(不是粗体)都被认为是可选的,并且指出属性默认值(如果有默认值),以及属性是否支持表达式语言。

属性名称

默认值

可选值

描述

Character Set

UTF-8

字符集

Maximum Buffer Size

指定(每个文件)要缓冲的最大数据量,应用于正则表达式。大于指定最大值的文件部分将不会被计算匹配。

Maximum Capture Group Length

1024

指定给定匹配值可以拥有的最大字符数。超过最大值的字符将被截断。

Enable Canonical Equivalence

false

truefalse

当且仅当两个字符的"正规分解(canonical decomposition)"都完全相同的情况下,才认定匹配。比如用了这个标志之后,表达式"a/u030A"会匹配"?"。默认情况下,不考虑"规范相等性(canonical equivalence)"。

Enable Case-insensitive Matching

false

truefalse

是否忽略大小写;也可以使用 (?i)标志默认情况下,大小写不敏感的匹配只适用于US-ASCII字符集。这个标志(?i)能让表达式忽略大小写进行匹配。要想对Unicode字符进行大小不敏感的匹配,只要将UNICODE_CASE与这个标志(?i)合起来就行了。

Permit Whitespace and Comments in Pattern

false

truefalse

在这种模式下,空格将被忽略,以#开头的嵌入注释将被忽略,直到行尾。也可以通过嵌入的标志(?x)指定。

Enable DOTALL Mode

false

truefalse

在这种模式下,表达式'.'可以匹配任意字符,包括表示一行的结束符。默认情况下,表达式'.'不匹配行的结束符。也可以通过嵌入的标志(?s)指定。

Enable Literal Parsing of the Pattern

false

truefalse

表示不应赋予元字符和转义字符特殊含义。

Enable Multiline Mode

false

truefalse

指示'^'和'$'应在行结束符或序列结束符之后和之前匹配,而不是只匹配整个输入的开始或结束符。也可以通过嵌入的标志(?m)指定。

Enable Unicode-aware Case Folding

false

truefalse

当与“启用不区分大小写的匹配”一起使用时,以与Unicode标准一致的方式匹配。也可以通过嵌入的标志(?u)指定。

Enable Unicode Predefined Character Classes

false

truefalse

指定与Unicode技术标准#18:Unicode正则表达式附件C:兼容性属性的一致性。也可以通过嵌入的标志(?U)指定。

Enable Unix Lines Mode

false

truefalse

只有'/n'才被认作一行的中止,并且与'.','^',以及'$'进行匹配。也可以通过嵌入的标志(?d)指定。

Include Capture Group 0

true

truefalse

指示捕获组0应包含为属性。Capture Group 0表示正则表达式匹配的全部,通常不使用,可能有相当长的长度。

Enable repeating capture group

false

truefalse

如果设置为true,将提取与捕获组匹配的每个字符串。否则,如果正则表达式匹配不止一次,则只提取第一个匹配。

  • true
  • false

当且仅当两个字符的"正规分解(canonical decomposition)"都完全相同的情况下,才认定匹配。比如用了这个标志之后,表达式"a/u030A"会匹配"?"。默认情况下,不考虑"规范相等性(canonical equivalence)"。Enable Case-insensitive Matchingfalse

  • true
  • false

是否忽略大小写;也可以使用 (?i)标志 默认情况下,大小写不敏感的匹配只适用于US-ASCII字符集。这个标志(?i)能让表达式忽略大小写进行匹配。要想对Unicode字符进行大小不敏感的匹配,只要将UNICODE_CASE与这个标志(?i)合起来就行了。Permit Whitespace and Comments in Patternfalse

  • true
  • false

在这种模式下,空格将被忽略,以#开头的嵌入注释将被忽略,直到行尾。也可以通过嵌入的标志(?x)指定。Enable DOTALL Modefalse

  • true
  • false

在这种模式下,表达式'.'可以匹配任意字符,包括表示一行的结束符。默认情况下,表达式'.'不匹配行的结束符。也可以通过嵌入的标志(?s)指定。Enable Literal Parsing of the Patternfalse

  • true
  • false

表示不应赋予元字符和转义字符特殊含义。Enable Multiline Modefalse

  • true
  • false

指示'^'和'$'应在行结束符或序列结束符之后和之前匹配,而不是只匹配整个输入的开始或结束符。也可以通过嵌入的标志(?m)指定。Enable Unicode-aware Case Foldingfalse

  • true
  • false

当与“启用不区分大小写的匹配”一起使用时,以与Unicode标准一致的方式匹配。也可以通过嵌入的标志(?u)指定。Enable Unicode Predefined Character Classesfalse

  • true
  • false

指定与Unicode技术标准#18:Unicode正则表达式附件C:兼容性属性的一致性。也可以通过嵌入的标志(?U)指定。Enable Unix Lines Modefalse

  • true
  • false

只有'/n'才被认作一行的中止,并且与'.','^',以及'$'进行匹配。也可以通过嵌入的标志(?d)指定。Include Capture Group 0true

  • true
  • false

指示捕获组0应包含为属性。Capture Group 0表示正则表达式匹配的全部,通常不使用,可能有相当长的长度。Enable repeating capture groupfalse

  • true
  • false

如果设置为true,将提取与捕获组匹配的每个字符串。否则,如果正则表达式匹配不止一次,则只提取第一个匹配。

动态属性:

该处理器允许用户指定属性的名称和值。

属性名称

属性值

描述

用户自由定义的属性名称

具有一个或多个捕获组的正则表达式

在该处理器生成的文件流上添加用户自定义的属性。如果使用表达式语言,则每批生成的流文件只执行一次计算 .支持表达式语言:true(只使用变量注册表进行计算)

连接关系

名称

描述

unmatched

当没有提供与流文件内容匹配的正则表达式时,流文件将被路由到此关系

matched

当正则表达式被成功求值并因此修改了流文件时,流文件被路由到这个关系

读取属性

没有指定。

写属性

没有指定。

状态管理

此组件不存储状态。

限制

此组件不受限制。

输入要求

此组件需要传入关系。

系统资源方面的考虑

没有指定。

应用场景

与EvaluateJsonPath有作用相似,提取content中的内容,输出到流属性当中 ;

该处理器涉及到专业的java 正则表达式知识,如果需求复杂,需要额外学习java正则相关知识 。

示例说明

1:将流内容(文本)输出到流属性当中

GenerateFlow 中手动设置一些text

最后ExactText 其他属性默认,添加一个tablename属性:

最后结果在attribute加上了我们想要的值

文章有帮助的话,小手一抖点击在看,并转发吧。谢谢支持哟 (*^__^*)

0 人点赞