Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.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正则表达式模式匹配[天气观测站11]_Mysql_Regex - Fatal编程技术网

mysql正则表达式模式匹配[天气观测站11]

mysql正则表达式模式匹配[天气观测站11],mysql,regex,Mysql,Regex,我在练习这个问题 当我使用 select distinct city from station where regexp_like(city, '^[^aeiou]|[^aeiou]$'); 给了我正确的答案(458个结果) 在哪里 给了我错误的答案(299个结果) 我觉得'^[^aeiou]'和NOT'^[aeiou]'都应该给我一个不以aeiou结果开始的提示,但显然不是。这两个答案在逻辑上有什么不同?它们看起来相同,但却不同 regexp_like(city, '^[^aeiou]|[^

我在练习这个问题 当我使用

select distinct city
from station
where regexp_like(city, '^[^aeiou]|[^aeiou]$');
给了我正确的答案(458个结果) 在哪里

给了我错误的答案(299个结果)


我觉得
'^[^aeiou]'
NOT'^[aeiou]'
都应该给我一个不以aeiou结果开始的提示,但显然不是。这两个答案在逻辑上有什么不同?

它们看起来相同,但却不同

regexp_like(city, '^[^aeiou]|[^aeiou]$')
如果城市以辅音(非元音)开头或以辅音结尾,则返回匹配

然而:

not regexp_like(city, '^[aeiou]|[aeiou]$')
如果
城市
没有以元音开头和结尾,则将返回匹配项 或者换句话说,如果城市以辅音(非元音)开头,而城市以辅音(非元音)结尾,它将返回匹配


注意两个表达式中的
之间的不同,这将导致第一个表达式与第二个表达式中的匹配更多。

它们看起来相同,但它们不同

regexp_like(city, '^[^aeiou]|[^aeiou]$')
如果城市
以辅音(非元音)开头或以辅音结尾,则返回匹配

然而:

not regexp_like(city, '^[aeiou]|[aeiou]$')
如果
城市
没有以元音开头和结尾,则将返回匹配项 或者换句话说,如果城市以辅音(非元音)开头,而城市以辅音(非元音)结尾,它将返回匹配


注意两个表达式中的
之间的不同,这将导致第一个表达式与第二个表达式中的匹配更多。

@buddemat这是怎么回事?这会让你以元音开头或以元音结果结尾。对不起,我应该写更多的解释。我的观点与下面的答案相同,只是添加了括号来指出第二个是或,否定变成和。我本来打算写更多的东西,但是在车上,突然意识到我需要下车了。不管怎样,既然你得到了一个很好的答案,我会删除我的评论以避免混淆…你运行的是什么版本?我不知道我在HackerRank上做在线练习的是什么
regexp\u like()
@RickJames。所以可能与版本无关。regexp_like()在这里。我也是从其他问题中学到的。@Meruemu-这是8.0的新功能。(旧版本没有这个功能)。@buddemat怎么办?这会让你以元音开头或以元音结果结尾。对不起,我应该写更多的解释。我的观点与下面的答案相同,只是添加了括号来指出第二个是或,否定变成和。我本来打算写更多的东西,但是在车上,突然意识到我需要下车了。不管怎样,既然你得到了一个很好的答案,我会删除我的评论以避免混淆…你运行的是什么版本?我不知道我在HackerRank上做在线练习的是什么
regexp\u like()
@RickJames。所以可能与版本无关。regexp_like()在这里。我也是从其他问题中学到的。@Meruemu-这是8.0的新功能。(旧版本没有将其作为功能)。