如何在倒数第二个 / 之前获取字符串

Posted

技术标签:

【中文标题】如何在倒数第二个 / 之前获取字符串【英文标题】:How do I get the string before the second last / 【发布时间】:2019-06-13 14:51:13 【问题描述】:

我猜这个问题的答案是否在某个地方,但我无法找到它。

所以我有基本的以下网址https://mywebsite.com/path1/path2/xxxx

如何使用正则表达式提取path2

谢谢

【问题讨论】:

【参考方案1】:

如何使用正则表达式提取 path2?

下面是 BigQuery 标准 SQL 的快速示例 - 一个带有正则表达式,第二个不带正则表达式

#standardSQL
WITH `project.dataset.table` AS (
  SELECT 'https://mywebsite.com/path1/path2/xxxx' url
)
SELECT 
  REVERSE(SPLIT(REVERSE(url), '/')[SAFE_OFFSET(1)]) option1,
  REGEXP_EXTRACT(url, r'(\w+)/\w+$') option2
FROM `project.dataset.table`   

结果

Row option1 option2  
1   path2   path2    

【讨论】:

我在这里测试了正则表达式 regex101.com 它不起作用...我在哪里可以测试它?你能解释一下正则表达式吗?谢谢。 只需在 BigQuery UI 中运行它。快速解释 - \w+ 任何单词,$ 字符串结尾 - (\w+) 括号标识要提取的匹配项。显然,如果正则表达式还不是你的“语言”——这正是我为你包括非正则表达式选项的原因:o)

以上是关于如何在倒数第二个 / 之前获取字符串的主要内容,如果未能解决你的问题,请参考以下文章

如何用最后一个数字翻转字符串中的第一个数字,然后是倒数第二个和倒数第二个,依此类推?

如何根据分隔符“|”之前的匹配值获取字符串中的第二个值?

如何查找一行数据中倒数第二个非空单元格的内容呢?

在正则表达式中查找字符串(日期)的倒数第二个出现

Mongoose/MongoDB:获取倒数第二个文档

倒数第二个值(熊猫,Python)