正则表达式总结

作为软件工程师,工作中经常都需要使用正则表达式进行搜索,替换,验证数据(手机号、邮箱、账号)等。
但没有系统的学习总结过。现在就来学习总结一下。

认识元字符

元字符就是一些特殊符号,代表一些特殊意思,所以常见的需要刻意记忆。如
^ 匹配输入字符串的开始位置
$ 匹配输入字符串的结束位置。
[xyz] 字符集合。匹配所包含的任意一个字符。例如, ‘[abc]’ 可以匹配 “plain” 中的 ‘a’。
[^xyz] 负值字符集合。匹配未包含的任意字符。例如, ‘[^abc]’ 可以匹配 “plain” 中的’p’、‘l’、‘i’、‘n’。 ^ 在 **[]**里面起不包含的意思。
d 匹配一个数字字符。等价于 [0-9]。
D 匹配一个非数字字符。等价于 [^0-9]。
w 匹配字母、数字、下划线。等价于’[A-Za-z0-9_]'。
W 匹配非字母、数字、下划线。等价于 ‘[^A-Za-z0-9_]’。

+ 匹配前面的子表达式一次或多次。
? 匹配前面的子表达式零次或一次。
* 匹配前面的子表达式零次或多次

运算符优先级

则表达式从左到右进行计算,并遵循优先级顺序,这与算术表达式非常类似。
相同优先级的从左到右进行运算,不同优先级的运算先高后低。下表从最高到最低说明了各种正则表达式运算符的优先级顺序:
** 转义符
(), (?, (?=), [] 圆括号和方括号
*, +, ?, {n}, {n,}, {n,m} 限定符
^, $, \任何元字符、任何字符 定位点和序列(即:位置和顺序)
| 替换,“或"操作
字符具有高于替换运算符的优先级,使得"m|food"匹配"m"或"food”。若要匹配"mood"或"food",请使用括号创建子表达式,从而产生"(m|f)ood"

你可能感兴趣的:(计算机基础知识,正则表达式,mysql,数据库)