我正在尝试在tableau中创建一个正则表达式提取函数。 当我使用正则表达式匹配函数时,一切正常,但提取的相同公式不起作用。思考?
REGEXP_MATCH([Comments Keyed In By User],
'.*(|SC)( |)([0-9][0-9][0-9])( - | | -|-|)([0-9][0-9]|).*')
vs
REGEXP_EXTRACT([Comments Keyed In By User],
'.*(|SC)( |)([0-9][0-9][0-9])( - | | -|-|)([0-9][0-9]|).*')
谢谢
答案 0 :(得分:2)
当你提取匹配时,你不需要模式周围的.*
,而且似乎Tableau要求在模式中定义捕获组以实际将文本输入到结果。
使用
REGEXP_EXTRACT([Comments Keyed In By User], '(SC[- ]*[0-9]{3})')
<强>详情:
SC
- 匹配SC
substring [- ]*
- 零个或多个-
或空格(将*
替换为?
以匹配一个或零个匹配项)[0-9]{3}
- 3位数要仅匹配整个单词,请使用单词边界\b
包围该模式:'\b(SC[- ]*[0-9]{3})\b'
。