正则表达式

复杂,常用熟悉就好。

用于测试正则表达式的网站:

https://regex101.com/r/p2uljY/1

match匹配

capture捕获,用圆括弧表示(), 一般用于提取匹配的字符串。

tableau prep

https://preppindata.blogspot.com/2020/01/how-touse-regex.html

REGEXP_EXTRACT([Time],'dS(d{2})')

参考tableau的说明,Rexexp_extract(string, pattern), 返回一个子字符串,子字符串和正则表达式模式中的捕获catch组相匹配。⚠️pattern内必须与一个catch组,即有一个().

解释:找到字符串第一个符合匹配条件“dS”的字符串,  判断后面是否紧跟2个数字,

  • 是,提取并返回这2个数字
  • 否,返回null

 

总结:

tableau prep提供的正则表达式函数是抽象化的功能上简单化。使用时需要看说明。

  • 比如regexp_match()是根据结果是否匹配返回 T rue / False,
  • 而Python的re.match()返回的是匹配对象

 

Python 的re 包(点击看文档)

例子:

import re

regex = r"ddd"

test_str = "sd12a212a"

x = re.search(regex, test_str)  #搜索任意位置的匹配结果,返回一个匹配对象。
print(x.group())  #输出212       #调用匹配对象的方法group(),返回匹配的字符串。

pyhon编辑器:https://repl.it/languages/python3

原文地址:https://www.cnblogs.com/chentianwei/p/12776729.html