正则表达式从字符串中提取国家名称
Regular Expression Extracting country name from a string
我有一堆字符串想从中提取国家名称。
http://api.com/Location_Republic_of_the_Congo_1000
http://api.com/Location_US_994
看来我需要正则表达式来提取第一个“”和最后一个“”符号之间的字符串。对于上面的例子,我想得到这个:
Republic_of_the_Congo
US
我写了这个:REGEXP_EXTRACT([Country], '(?<=_)(?s)(.*$)' )
但它没有像我想要的那样工作。
我还想从“:RecordedCase_Armenia_558_2_1_2020_Cov_Death”中提取 'Cov_Death'。最后两个“_”符号之间的字符串。
有人能帮忙吗?
您可以使用
REGEXP_EXTRACT([Country], '_(.*)_')
这里,
_
- 下划线
(.*)
- 捕获第 1 组:除换行符以外的任何 0 个或多个字符,尽可能多(由于 *
贪婪量词)
_
- 下划线
我有一堆字符串想从中提取国家名称。
http://api.com/Location_Republic_of_the_Congo_1000
http://api.com/Location_US_994
看来我需要正则表达式来提取第一个“”和最后一个“”符号之间的字符串。对于上面的例子,我想得到这个:
Republic_of_the_Congo
US
我写了这个:REGEXP_EXTRACT([Country], '(?<=_)(?s)(.*$)' )
但它没有像我想要的那样工作。
我还想从“:RecordedCase_Armenia_558_2_1_2020_Cov_Death”中提取 'Cov_Death'。最后两个“_”符号之间的字符串。
有人能帮忙吗?
您可以使用
REGEXP_EXTRACT([Country], '_(.*)_')
这里,
_
- 下划线(.*)
- 捕获第 1 组:除换行符以外的任何 0 个或多个字符,尽可能多(由于*
贪婪量词)_
- 下划线