正则表达式基本语法


 

 

 

 

① ^ 匹配字符串的开始

WHERE name REGEXP '^me'

② $ 匹配字符串的结束

WHERE name REGEXP 'd$'

③ . 匹配任意单个字符

 WHERE name REGEXP '^..at'
 ?
 输出 : platinum匹配包含特定字符串的字符串WHERE name REGEXP 'in'输出 : platinum

④ [...] 匹配方括号内的任意一个字符

 REGEXP '[0-9]' 数字 , 原字符中有数字即为true
 REGEXP '[a-z]' 任何字母[a-z0-9] 字母或数字

... 匹配除了方括号之外内所列字符之外的任意一个字符

否定④

⑥ p1|p2|p3 选择性匹配,匹配p1、p2、p3 中的任意一个模式

 REGEXP '^[aeiou]|d$'
 开头为aeiou中的一种或者以d结尾

⑦ * 匹配‘*’前面的子表达式零次或多次

 

select 'p' regexp 'pk*'; true
select 'pk' regexp 'pk*'; true
select 'pkkkkkkkkk##$#%#^' regexp 'pk*'; true
select 'tyu' regexp 'pk*'; false

⑧ + 匹配‘+’前面的子表达式一次或多次

 

select 'p' regexp 'pk+'; false
select 'pk' regexp 'pk+'; true
select 'pkkkkkkkkk##$#%#^' regexp 'pk+'; true

⑨ ?匹配'?'前面的字符最多一次

select 'color' regexp 'colou?r'; true
select 'colouur' regexp 'colou?r'; false

⑩ {n}匹配前面的字符n次

select 'pkko' regexp 'pk{2}o'; true
select 'pkkkko' regexp 'pk{2}o'; false

 {m,n} 匹配前面的子表达式最少m次,最多n次

select 'pkko' regexp 'pk{0,4}o'; true
select 'pkkkkko' regexp 'pk{0,4}o'; false

 

 

 

 

 

 

 

搜索

复制