如何用正则表达式从带分隔符的两列数据中提取指定字段
正则提取解决方案
各字段提取规则
- 机构(Organization,从列1提取)
匹配逻辑:跳过列1开头到第一个「- 」的所有内容,截取之后到左括号前的内容,自动过滤前后冗余空格
调用示例:regex_extract(column1, r'^[^-]+-\s*([^(]+?)\s*\(', 1) - 主管(Supervisor,从列1提取)
匹配逻辑:直接提取列1中被括号包裹的全部内容
调用示例:regex_extract(column1, r'\(([^)]+)\)', 1) - 配置文件(Profile,从列2提取)
匹配逻辑:跳过列2开头的第一个无空格编码段,截取后续所有内容
调用示例:regex_extract(column2, r'^\S+\s+(.*)', 1)
兼容说明
如果你使用的工具不支持正则非贪婪匹配(?标识),可将机构提取的正则替换为^[^-]+-\s*([^(\s]+(?:\s+[^(\s]+)*)\s*\(,提取效果完全一致。
内容的提问来源于stack exchange,提问作者DayWalker
相关产品推荐
相关产品推荐

