sql - 模式后的 REGEXP_EXTRACT
问题描述
我真的对正则表达式视而不见。我想在单词'page ='之后提取
page=course; uri=%2Fcourse
page=homepage
在这种情况下,它将是“课程”和“主页”。我试过了
REGEXP_EXTRACT(context, r"(?<=page=)+[a-zA-Z]*")
但它在 Google BigQuery 中显示“无法解析正则表达式:无效的 perl 运算符:(?<” 。
有什么建议么?谢谢!
解决方案
谷歌的正则表达式库不支持后视,但您可以使用捕获组来REGEXP_EXTRACT
返回该子字符串而不是整个匹配:
REGEXP_EXTRACT(context, r"page=([a-zA-Z]+)")
推荐阅读
- performance - 连接的性能问题
- c++ - 从电子本机模块获取图像的最快方法是什么?
- r - 绑定不同长度的数据帧(无 cbind,无合并)
- r - 使用 ggplot2 使用多个模型(相同的 B_0 但不同的 B_1)绘制一个图
- python - 检查输入时的训练模型错误:预期 input_1 有 4 个维度,但得到了形状为 (1827392、224、3) 的数组?
- regex - 在正则表达式模式中的多个空间终止匹配
- python - 如何在matplotlib中反转这个for循环
- reactjs - 如何使用 reactjs 将列宽设置为我的 excel 工作表
- amazon-quicksight - Quicksight:使用计算的 LAA 字段排名来计算另一个计算的维度字段
- python-3.x - 从 cv2.selectROIs 函数对多个 ROI 应用背景图像减法