Jeu*_*sce 8 regex sql google-bigquery
我只是设法提取我使用的网站列表的TLD
REGEXP_EXTRACT(Domain_name, r'(\.[^.:]*)]\.?:?[0-9]*$') AS web_tld
Run Code Online (Sandbox Code Playgroud)
例:
我有
www.example1.abc.com
www.example2.efg.123.net
Run Code Online (Sandbox Code Playgroud)
我想要结果
子域
example1
efg
Run Code Online (Sandbox Code Playgroud)
域
abc
123
Run Code Online (Sandbox Code Playgroud)
TLD
.com
.net
Run Code Online (Sandbox Code Playgroud)
编辑:在我的查询中遇到错误'当我使用时,必须指定一个捕获组'(.?([^:] +).([^:] +).([^:] +): ?[0-9]*$)作为正则表达式
SELECT
REGEXP_EXTRACT(Domain, r'(\.?([^.:]+)\.([^.:]+)\.([^.:]+):?[0-9]*$)'),
FROM [weblist.domain]
ORDER BY 1
LIMIT 250;
Run Code Online (Sandbox Code Playgroud)
由于您只能使用一个捕获组,我认为您实际上可以使用3个单独的正则表达式来获取所需的值:
SELECT
REGEXP_EXTRACT(Domain, r'([^.:]+):?[0-9]*$'),
REGEXP_EXTRACT(Domain, r'([^.:]+).[^.:]+:?[0-9]*$'),
REGEXP_EXTRACT(Domain, r'([^.:]+).[^.:]+.[^.:]+:?[0-9]*$')
FROM [weblist.domain]
ORDER BY 1
LIMIT 250;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9354 次 |
| 最近记录: |