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 attribute | A Regular Expression with one or more capturing group | 第一个捕获组(如果有),将被放入对应属性名。如果有多个捕获组,那么他们(包括匹配的字符串序列本身)将提供给带有索引值的该属性名 不支持表达式语言 |
连线:
名字 | 描述 |
---|---|
unmatched | 当无正则表达式匹配数据流内容时,数据流将被路由到此连线 |
matched | 当正则表达式匹配且更新数据流时,数据流将被路由到此连线 |
读取属性:
未提供。
写入属性:
未提供。
状态管理:
该组件不保存状态。
限制:
该组件没有限制
输入流要求:
组件必须提供输入流。
系统资源考量:
未提供。