首页 > 解决方案 > REGEXP_CONTAINS : 是否有任何特定的顺序

问题描述

获取输出的顺序是否正确:我需要更改顺序吗?

(case
 WHEN REGEXP_CONTAINS(place, '(?i)BUS') THEN "BUS"
 WHEN REGEXP_CONTAINS(place, '(?i)SAV') THEN "SAV"
 WHEN REGEXP_CONTAINS(place, '(?i)CC')  THEN "CC" 
 WHEN REGEXP_CONTAINS(place, '(?i)TRA') THEN "TR" 
 WHEN REGEXP_CONTAINS(place, '(?i)HL')  THEN "HL"
 WHEN REGEXP_CONTAINS(place, '(?i)BR')  THEN "BR" 
 WHEN REGEXP_CONTAINS(place, '(?i)INS') THEN "INS"
 WHEN REGEXP_CONTAINS(place, '(?i)INV') THEN "INV"
 WHEN REGEXP_CONTAINS(place, '(?i)BRA') THEN "BR"
 end) as pf

标签: google-bigquery

解决方案


为什么不

REGEXP_REPLACE(place, '(\w+)(BR|INV|INS|BR|HL|TRA|CC|SAV|BUS$)', '\\2')

编辑:对于 TRA=TR

(\w+)(BR|INV|INS|BR|HL|TR|CC|SAV|BUS)((?<=TR)A?)$

推荐阅读