正则表达式中‘.*’的含义是什么?
正则表达式中
.*的含义及SQL示例解析 .*的核心含义
.*是正则表达式里的基础通配组合:
.代表匹配任意单个字符(在SQL的REGEXP语法中,基本覆盖所有可见/不可见字符,除特殊场景外)*代表匹配它前面的字符零次或多次- 两者组合后,
.*就表示匹配任意长度的任意字符序列——可以是空字符串,也可以是包含字母、数字、符号等的长文本。
结合SQL示例解析
先看示例代码:
SELECT DISTINCT city FROM station WHERE CITY REGEXP '^[aeiou].*[aeiou]$'
整个正则表达式^[aeiou].*[aeiou]$的作用拆解:
^:锚定字符串的开头位置[aeiou]:匹配任意一个元音字母(a、e、i、o、u),这里限定城市名必须以元音开头.*:匹配开头元音和结尾元音之间的任意内容——不管中间有多少字符、是什么字符,都能被匹配[aeiou]:匹配任意一个元音字母,限定城市名必须以元音结尾$:锚定字符串的结尾位置
所以这条SQL的实际效果是:从station表中筛选出所有以元音字母开头、同时以元音字母结尾的不重复城市名称。
内容的提问来源于stack exchange,提问作者mahmoud ali mohamed
相关产品推荐
相关产品推荐

