复杂,常用熟悉就好。
用于测试正则表达式的网站:
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