【发布时间】:2018-08-14 13:14:11
【问题描述】:
我有以下字符串:
3#White House, District Of Columbia, United States#US#USDC#DC001#38.8951#-77.0364#531871#382
如您所见,字符串由# 分隔。我的用例类似于一个简单的 SPLIT(string,"#") 操作,但正则表达式给了我更多的灵活性。
我想匹配两次出现的# 之间的字符。例如,第二次和第三次出现之间的字符应该匹配:'US'
我正在使用 Google Bigquery,并且能够匹配字符串的前两个术语,但与第三个术语相匹配:
REGEXP_EXTRACT(locations,r'^\d') as location_type,
REGEXP_REPLACE(REGEXP_EXTRACT(locations,r'^\d#.*?#'),r'^\d*#|#','') as location_full_name,
????
位置是字符串,例如上面的字符串。
我找到了这个question,但我有多个分隔符,并且想指定匹配应该发生在哪些事件之间,例如第 2 次和第 5 次出现。
【问题讨论】:
标签: sql regex google-bigquery