如何在hadoop中编写hql表达式来验证特定格式(如x9999)的字母数字字段的格式

l5tcr1uw  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(383)

如何编写hql来确定一个字段的结果的第一个字符是否为alpha,接下来的四个字符是否为数字(i、 e.-字段的格式是'f5555',因此我需要验证从该字段的查询返回的所有结果是否遵循正确的格式。

qrjkbowd

qrjkbowd1#

你可以试试这个:

select REGEXP_EXTRACT( 'd55555' , '^[A-Za-z ]?[0-9]{5}$', 0);

现在,为了理解,请阅读本文并查看下一条评论:
^表示字符串的开头(在这种模式中,我们标记开头);
[a-za-z]-表示任何字母:大写或小写;
? - 意味着我们只需要上一个字符类出现一次;
[0-9]—0到9之间的任意数字;
{5} —表示前一个字符类([0-9])必须精确出现5次(不多,不少);
$—字符串的结尾;
希望你能理解。

相关问题