gpt4 book ai didi

regex - Hive Regex Serde适用于5000列的行

转载 作者:行者123 更新时间:2023-12-02 21:42:48 24 4
gpt4 key购买 nike

我们得到这样的行:

aa |-| bb |-| cc |-|

并且我们要提取由|-|分隔的字段。我知道一种解决方案是:
CREATE TABLE rating_regex(
field1 string, field2 string, field3 string)
ROW FORMAT SERDE 'org.apache.hadoop.hive.contrib.serde2.RegexSerDe'
WITH serdeproperties("input.regex" = "(.+)\\|\\-\\|(.+)\\|\\-\\|(.+)\\|\\-\\|",
"output.format.string" = "%1$s %2$s %3$s")
STORED AS TEXTFILE;

但是,如果我们得到三个字段而不是三个字段怎么办?如何在不重复(。+)\ | \-\ |的情况下编写正则表达式模式5000次?

最佳答案

^(?:(?:.+?)\|\-\|(?:\s|$)){3}$

试试看。请看演示。您可以根据需要扩展它,直到 500

https://regex101.com/r/nL5yL3/20

关于regex - Hive Regex Serde适用于5000列的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27399143/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com