正则表达式(Regular Expression)
正则表达式 REGEXP:是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。
元字符
\:转义字符
x|y:匹配x或y
匹配次数
*:匹配其前面子表达式任意次;等价于{0,}
+:匹配前面子表达式一次或者多次;等价于{1,}
?:匹配前面子表达式0次或着1次;等价于{0,1}
{n}:匹配前面子表达式n次;
{n,}:匹配前面子表达式出现至少n次;
{n,m}:匹配前面子表达式出现至少n次最多m次
定位符:
^:匹配输入字符串的开始的位置
$:匹配输入字符串结尾的位置
\b:匹配一个单词边界,即字与空格之间的位置
\B:非单词边界匹配
常见字符集合:
.:匹配除换行符(\n、\r)之外的任何单个字符
\d:任意数字字符,相当于[0-9]
\D:任意非数字字符,相当于[^0-9]
\s:任意空白字符,包括Space,Tab,换页符等。等价于[\r\n\t\f\v]
\S:任意非空白字符,等价于[^\f\n\r\t\v]
\w:任意字母、数字、下划线;等价于[A-Za-z0-9_]
\W:任意非字母数字下划线;
\t:制表符
\v:垂直制表符
\f:换页符
\r:回车符
\n:换行符
字符簇:
[[:alpha:]] 任何字母 [^[:alpha:]] 任何非字母以下类似
[[:digit:]] 任何数字
[[:alnum:]] 任何数字和字母
[[:space:]] 任何空白字符
[[:upper:]] 任何大写字母
[[:lower:]] 任何小写字母
[[:punct:]] 任何标点符号
[[:xdigit:]] 任何16进制数字