Google bigquery 使用正则表达式从URL提取特定元素

Google bigquery 使用正则表达式从URL提取特定元素,google-bigquery,nsregularexpression,bigquery-standard-sql,Google Bigquery,Nsregularexpression,Bigquery Standard Sql,我需要使用正则表达式提取以下URL中“designer”之后的第一个元素(“adidas originals”) xxx/en-ca/men/designers/adidas-originals/shorts 这需要在Google大查询API(标准SQL)中完成。为此,我尝试了几种方法来获得所需的价值,但没有任何成功。以下是迄今为止我找到的最好的解决方案,它显然不是正确的解决方案,因为它返回了“/阿迪达斯原版/短裤” 谢谢 除了换行符LF之外,[^\n]*与0个或更多字符匹配,所以难怪它匹配得

我需要使用正则表达式提取以下URL中“designer”之后的第一个元素(“adidas originals”)

xxx/en-ca/men/designers/adidas-originals/shorts
这需要在Google大查询API(标准SQL)中完成。为此,我尝试了几种方法来获得所需的价值,但没有任何成功。以下是迄今为止我找到的最好的解决方案,它显然不是正确的解决方案,因为它返回了“/阿迪达斯原版/短裤”


谢谢

除了换行符LF之外,
[^\n]*
与0个或更多字符匹配,所以难怪它匹配得太多

您需要一个模式来匹配下一个
/
,因此您可以使用

designers/([^/]+)
或者更准确地说:

(?:^|/)designers/([^/]+)

详细信息

  • (?:^ |/)
    -字符串开头或
    /
    (如果
    设计器
    前面总是有
    /
    ,则可以使用
    /
  • designers/
    a
    designers/
    子字符串
  • ([^/]+)
    -捕获组1(即
    REGEXP\u EXTRACT
    函数将返回的内容):除
    /
    之外的一个或多个字符

太完美了。谢谢
(?:^|/)designers/([^/]+)