regex - 正则表达式(Bigquery)从 STRING 获取特定值
问题描述
我有字符串 -TX1234XT batch 44, 1111ABCDEF
- TX1234XT(可以不同长度)
- 批次 44(数字可以是不同的长度)
- ABCDEF(可以是不同的长度,但总是以 1111 开头)
我需要的是生成两列:
BatchNumber Name
44 1111ABCDEF
1 1111SAMPLE
999 1111Example
初始点:
首先完成:
REGEXP_EXTRACT(reference, r'1111[a-zA-Z0-9_.+-]+') AS Name
第二 -REGEXP_REPLACE(REGEXP_EXTRACT(reference, r'batch [0-9_.+-]+'),r'batch ','') AS BatchNumber
排序^_^
解决方案
我真的不知道 Google Big Query,但如果你想提取批次号和最后的值,你可以使用这个正则表达式:
/^.*?batch\s*(\d+),\s*(1111.+)$/
(\d+)
将捕获您的批次 ID。(1111.+)
将捕获从 1111 开始的值。
推荐阅读
- c - 使用 sscanf 解析子字符串/浮点数
- javascript - 为什么 javascript 无法识别我的复选框操作
- java - 面临错误 java.lang.ArrayIndexOutOfBoundsException: -1
- reactjs - 为什么每次状态更改时组件都会被卸载和安装程序
- r - 将数据帧分成块然后应用函数
- typescript - 为什么在父打字稿类中未定义“this”?
- reactjs - 为什么 setItems 函数(useState 挂钩)在 useEffect 内部的函数中使用时起作用,但在 useEffect 中直接使用时不起作用?
- python - 如何对不同的行进行分组并将类别计数添加到熊猫的新列中?
- c++ - 函数的时间复杂度是多少?
- c - 我无法在 C 中按字母顺序对链接列表进行排序