SQL中使用正则函数去除Trackingid的000前缀的方法咨询
用正则筛选不带000前缀的Trackingid
当然可以用正则函数实现这个需求,核心思路是匹配以000开头的字符串,再取反筛选出不符合该规则的记录。以下是几种常见场景的具体实现:
SQL环境(如MySQL、PostgreSQL)
使用NOT REGEXP(PostgreSQL中可用!~)过滤:
SELECT Trackingid FROM your_table_name WHERE Trackingid NOT REGEXP '^000';
^表示匹配字符串的起始位置NOT REGEXP '^000'直接筛选出不以000开头的Trackingid
Excel(支持REGEX函数的版本)
可以用REGEXMATCH配合筛选或FILTER函数:
- 辅助列判断:在B2单元格输入公式后下拉填充
=NOT(REGEXMATCH(A2,"^000"))
- 直接提取结果:
=FILTER(A:A,NOT(REGEXMATCH(A:A,"^000")))
Python处理列表
借助re模块实现:
import re tracking_ids = ["00054123", "00054214", "123456", "001234"] # 筛选出不以000开头的ID filtered_ids = [tid for tid in tracking_ids if not re.match(r'^000', tid)] print(filtered_ids)
内容的提问来源于stack exchange,提问作者Vignesh
相关产品推荐
相关产品推荐

