Skip to main content

RouteText

描述:

根据一组用户自定义的文本数据规则路由数据流的输出。 输入的数据流中的每一行都需要与用户自定义的属性值进行比较匹配。 将文本与这些用户自定义的属性进行比较的机制由“匹配策略”来决定。 然后根据这些规则路由数据,并分别路由文本中的每一行。

标签:

attributes, routing, text, regexp, regex, Regular Expression, Expression Language, csv, filter, logs, delimited, 路由, 正则, 过滤

参数:

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

名字默认值允许值列表描述
路由策略路由到每一个匹配到的属性值
- 路由到每一个匹配到的属性值属性表达式值为“true”值的文本行相匹配的每一个数据流输出
- 满足所有条件时路由到“matched”连线所有用户自定义的表达式为“true”时,则视为匹配
- 满足任一个条件时路由到“matched”任意一个用户自定义的表达式为“true”时,则视为匹配
根据路由策略和用户自定义属性来匹配每一行输入文本,并决定输出到哪个输出数据流
匹配策略
- 乐观匹配根据是否满足给定的表达式来匹配文本行(如果表达式的值返回“true”,则表示文本行匹配)。 表达式也能够引用数据流的属性值,比如变量'line'(要匹配的文本行)和'lineNo'(这是要匹配的文本的行号。对于第一行,这将是1, 第二行为2,如此往复)。
- 开头匹配属性值匹配文本行的开头
- 结尾匹配属性值匹配文本行的末尾
- 包含文本行包含属性值
- 相同文本行与属性值相同
- 正则表达式匹配文本行是否与提供的正则表达式值完全匹配
- 正则表达式包含文本行是否包含能匹配提供的正则表达式的内容
指定传入的文本行如何匹配用户自定义属性值。
字符编码UTF-8传入的文本行的字符集编码
忽略头尾空白true在匹配时是否忽略文本行开头和结尾处的空格
忽略大小写不忽略
- 忽略
- 不忽略
如果忽略,则在比较值时不会考虑大小写。 例如,与'HELLO'或'hello'匹配将具有相同的结果。 如果<匹配策略>设置为“乐观匹配”,则忽略此属性。
分组正则表达式指定正则表达式以针对每一行进行匹配,以确定应将该行放入哪个捕获组。正则表达式必须至少有一个用于匹配行的捕获组。 如果正则表达式中存在多个捕获组,则所有捕获组的值将连接在一起。 除非两个行具有相同的组值(或者两个行都不匹配正则表达式),否则不会将两行放入同一个数据流中。 例如,要将第一列中的CSV文件中的所有行组合在一起,我们可以将此值设置为“(.?),.”。 具有相同组但具有不同连线的两行永远不会放在同一个数据流中。

动态参数:

名字描述
Relationship Namevalue to match against与用户自定义正则表达式的属性值相匹配的内容路由到数据流输出,该输出数据流的名字由用户自定义属性的键所决定。
支持表达式语言 (支持流属性和变量)

连线:

名字描述
original当所有输入的文本行流已经路由到一个或多个连线时,原始输入数据流将路由到此连线。
unmatched不满足用户自定义规则的数据将路由到此连线

动态连线:

根据用户设置可创建动态连线。

名字描述
Name from Dynamic Property与用户自定义的正则表达式匹配的数据流将路由到此动态连线。

读取属性:

未提供。

写入属性:

名字描述
RouteText.Route数据流路由到的连线名称。
RouteText.Group“分组正则表达式”属性中所有捕获组捕获的值。 如果未设置此属性或不包含捕获组,则不会添加此属性。

状态管理:

该组件不保存状态。

限制:

该组件没有限制

输入流要求:

组件必须提供输入流。

系统资源考量:

未提供。