我在流集中的流选择器中使用正则表达式,但它没有按预期工作
I am using regex in stream selector in streamsets but it is not working as expected
我正在尝试根据是否匹配正则表达式对数据进行分区。
该列包含值 00000000081.48,表达式为
str:matches(record:value('/OUT_HD_CURR_BAL'), '[0-9]+\.[0-9]+')
但它的表现好像输出是错误的。正则表达式有什么问题吗?
我觉得应该是
str:regExCapture(record:value('/OUT_HD_CURR_BAL'), '([0-9]+\.[0-9]+)', 1)
如果您需要使用 str:matches
获取布尔值,请在您的表达式周围添加 .*
:
str:matches(record:value('/OUT_HD_CURR_BAL'), '.*[0-9]\.[0-9]+.*')
str:matches
需要从头到尾匹配字符串,.*
匹配任何文本。
我正在尝试根据是否匹配正则表达式对数据进行分区。 该列包含值 00000000081.48,表达式为
str:matches(record:value('/OUT_HD_CURR_BAL'), '[0-9]+\.[0-9]+')
但它的表现好像输出是错误的。正则表达式有什么问题吗?
我觉得应该是
str:regExCapture(record:value('/OUT_HD_CURR_BAL'), '([0-9]+\.[0-9]+)', 1)
如果您需要使用 str:matches
获取布尔值,请在您的表达式周围添加 .*
:
str:matches(record:value('/OUT_HD_CURR_BAL'), '.*[0-9]\.[0-9]+.*')
str:matches
需要从头到尾匹配字符串,.*
匹配任何文本。