600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > python脚本使用hive正则表达式斜杠问题

python脚本使用hive正则表达式斜杠问题

时间:2019-12-19 04:43:53

相关推荐

python脚本使用hive正则表达式斜杠问题

目标:提取字符串中长度5-7的数字python脚本hive样式:

import datetimedata_dic = {'table_name':'table_name','data_table_name':'data_table_name','data_time':int(datetime.date.today().strftime('%Y%m%d'))-1}sql = """insert table {table_name}(idadtag)select id,case when regexp_instr(adtag,'\\\\d{{5,7}}',1,1,0)>0 then regexp_extract(adtag,'(\\\\d{{5,7}})',1)else adtag end as adtagfrom {data_table_name}where ftime = {data_time}""".format(**data_dic)

正常来说,正则pat里面只需要传入’\d{5,7}‘就可以了,一个斜杠最后用了四个斜杠才生效,转化是这样的:

第一层:python字符串转译:\\——\

第二层:sql字符串转译:\——

这样就四个斜杠最后变成了两个斜杠(python转义),两个斜杠再变成一个斜杠(sql转义);另外一个问题,python字符串format方法转译问题,最后用了双’{}’

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。