【发布时间】:2016-06-27 23:22:49
【问题描述】:
我有很多长字符串,部分字符串包含 url。我想在 https 之后提取 url 的第一部分?在 abcd.com 出来之前。一些 url 使用 http 一些使用 https;例如:
long string --------&url=http%3a%2f%2fwww.abcd.com%2f------long string
long string --------&url=https%3a%2f%2fmobile.abcd.com%2f------long string
long string --------&url=http%3a%2f%2fmobile.abcd.com%2f------long string
long string --------&url=https%3a%2f%2faccount.abcd.com%2f------long string
long string --------&url=http%3a%2f%2fsale.abcd.com%2f------long string
long string --------&url=https%3a%2f%2flogin.abcd.com%2f------long string
结果将是 www、mobile、mobile、account、sale、login。
到目前为止我尝试过的是
A = LOAD DATA;
B = FOREACH A GENERATE (chararray)REGEX_EXTRACT(line, '.*&url=https?%3a%2f%2f([^\.]+)\.', 1) AS firstparturl;
DUMP B;
它给了我一个错误,抱怨 regex_extract '' 中的最后一个句点。
【问题讨论】:
标签: regex apache-pig