Tableau 正则表达式 Regexp_Extract() 问题

Tableau Regular Expression Regexp_Extract() Troubles

我正在尝试使用 Tableau 10.0 中的 REGEXP_EXTRACT(string, pattern) 函数。我之前在 C、R 和 python 中使用过正则表达式。即使是最简单的正则表达式,Tableau 似乎也不合作,我能得到的只是 "Null"。我的数据源是 Excel 电子表格 (.xlsx)。我也尝试使用具有相同数据的 CSV 文件无济于事。

例子: Players[1] = "Ezekiel Elliott, RB"(r.e Players 维度包含 [A-z]{1,40},\s[A-Z]{2} 格式的值。我正在尝试捕获最后两个字母,其中包含计算字段中球员的足球位置(RB、QB 等)。 以下所有只是 return null:

REGEXP_EXTRACT([Players], '(?<=,\s)[A-Z]{2}')

REGEXP_EXTRACT([Players], '(?<=,\s)[A-Z]{2}')

REGEXP_EXTRACT[[Players], "[e,E]")

REGEXP_EXTRACT("Ezekiel Elliott, RB", "[e,E]")

最后两个特别麻烦,因为我什至无法匹配一个字母。

任何解决方案、对我做错了什么的解释,甚至是指向说明方向的箭头,我们都将不胜感激。我查阅了有关 ICU 正则表达式的参考资料,http://userguide.icu-project.org/strings/regexp,但没有成功。

您需要捕获您需要提取的内容:

REGEXP_EXTRACT[[Players], "([A-Z]{2})$")

([A-Z]{2})$ 将匹配以下内容:

  • ([A-Z]{2}) - 匹配并捕获到第 1 组(你最终会得到什么)恰好两个 ASCII 大写字母
  • $ - 断言字符串位置的结尾。

如果你说条目可以用^[A-Za-z]{1,40},\s([A-Z]{2})$匹配,你也可以使用这个模式(这里,^匹配字符串的开头,[A-Za-z]{1,40}匹配1到40 ASCII 字母,, 会匹配一个逗号,其余模式同上)。请注意 .