如何在正则表达式中使用定位/范围匹配指定格式产品编码
解决方案
匹配规则对应的正则表达式
针对你描述的产品编码格式,对应的正则表达式如下:
[[:alpha:]]{2}[[:digit:]]{2}[[:alpha:]]{2}[[:digit:]]{4}[[:alpha:]]{2}
正则各部分解析
[[:alpha:]]{2}:匹配第1-2位的2个字母([[:alpha:]]匹配任意大小写字母,{2}指定固定匹配2次)[[:digit:]]{2}:匹配第3-4位的2个数字([[:digit:]]匹配0-9的数字,{2}指定固定匹配2次)[[:alpha:]]{2}:匹配第5-6位的2个字母[[:digit:]]{4}:匹配第7-10位的4个数字({4}指定固定匹配4次)[[:alpha:]]{2}:匹配第11-12位的2个字母
结合regexp_contains的使用示例
以SQL类环境(比如BigQuery)为例,筛选销售链接中包含符合格式产品编码的记录,写法如下:
SELECT * FROM your_sales_links_table WHERE REGEXP_CONTAINS(sales_link_column, r'[[:alpha:]]{2}[[:digit:]]{2}[[:alpha:]]{2}[[:digit:]]{4}[[:alpha:]]{2}')
注意事项
- 如果需要确保匹配的是完整独立的产品编码(避免链接中更长的字符串包含这段格式),可以在正则前后加上单词边界
\b,即:\b[[:alpha:]]{2}[[:digit:]]{2}[[:alpha:]]{2}[[:digit:]]{4}[[:alpha:]]{2}\b - 部分环境中
[[:alpha:]]可能仅匹配ASCII字母,若需限制为英文字母,可替换为[A-Za-z];若需支持非英文字母,可根据具体工具调整对应字符类
内容的提问来源于stack exchange,提问作者Vinicius Oliveira
相关产品推荐
相关产品推荐

