Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL正则表达式只返回一行_Mysql_Regex - Fatal编程技术网

MySQL正则表达式只返回一行

MySQL正则表达式只返回一行,mysql,regex,Mysql,Regex,我一直在MySQL中编写一个正则表达式来识别那些具有.com TLD的域。URL的格式通常是 http://example.com/ 我提出的正则表达式如下所示: REGEXP '[[.colon.]][[.slash.]][[.slash.]]([:alnum:]+)[[...]]com[[./.]]' 我们匹配://的原因是,我们不会拾取诸如http://example.com/error.com/wrong.com 因此,我的问题是: SELECT DISTINCT name FROM

我一直在MySQL中编写一个正则表达式来识别那些具有.com TLD的域。URL的格式通常是

http://example.com/
我提出的正则表达式如下所示:

REGEXP '[[.colon.]][[.slash.]][[.slash.]]([:alnum:]+)[[...]]com[[./.]]'
我们匹配://的原因是,我们不会拾取诸如
http://example.com/error.com/wrong.com

因此,我的问题是:

SELECT DISTINCT name
FROM table 
WHERE name REGEXP '[[.colon.]][[.slash.]][[.slash.]]([:alnum:]+)[[...]]com[[./.]]'"

然而,这只是返回一行,而实际上它应该返回更多行(超过1000行)。我在查询中犯了什么错误?

您当前的查询只匹配以
.com/
结尾的
名称,而不是以斜杠开头的
.com
。请尝试以下操作:

SELECT DISTINCT name
FROM table 
WHERE name REGEXP '[[.colon.]][[.slash.]][[.slash.]]([:alnum:]+)[[...]]com([[./.]].*)?'"

您当前的查询只匹配以
.com/
结尾的
name
s,而不是以斜杠开头的
.com
。请尝试以下操作:

SELECT DISTINCT name
FROM table 
WHERE name REGEXP '[[.colon.]][[.slash.]][[.slash.]]([:alnum:]+)[[...]]com([[./.]].*)?'"

不确定这是否是问题,但它应该是
[[:alnum:]
,而不是
[:alnum:]
不确定这是否是问题,但它应该是
[:alnum:]
,而不是
[:alnum:]

拆分URL可能比重新注册URL更清晰

SELECT DISTINCT name FROM table
WHERE SUBSTRING_INDEX((SUBSTRING_INDEX(name,'/',3),'.',-1)='com';

拆分URL可能比重新注册URL更清晰

SELECT DISTINCT name FROM table
WHERE SUBSTRING_INDEX((SUBSTRING_INDEX(name,'/',3),'.',-1)='com';

呃。做得好,似乎我看错了文档。Erk。做得好,似乎我看错了文档。