正则表达式知识点小结整理
1. \b 单词的开头或结尾,也就是单词的分界处.\b并不匹配这些单词分隔字符中的任何一个,它只匹配一个位置。(如:\bhi\b就是查找单词hi,而him等会被忽略)
2. . 是另一个元字符,匹配除了换行符以外的任意字符。
3. * 同样是元字符,不过它代表的不是字符,也不是位置,而是数量,即它指定*前边的内容可以连续重复使用任意次以使整个表达式得到匹配。因此,.*连在一起就意味着任意数量的不包含换行的字符。
(如:\bhi\b.*\bLucy\b 意思就是:先是一个单词hi,然后是任意个任意字符(但不能是换行),最后是Lucy这个单词。)
4. \d 匹配一位数字(0,或1,或2,或……)。
5. - 不是元字符,只匹配它本身-连字符
(如:0\d\d-\d\d\d\d\d\d\d\d匹配这样的字符串:以0开头,然后是两个数字,然后是一个连字号“-”,最后是8个数字。、、、、、也可以这样写这个表达式:0\d{2}-\d{8}。这里\d后面的{2}({8})的意思是前面\d必须连续重复匹配2次(8次)。
6. \s 匹配任意的空白符,包括空格,制表符(Tab),换行符,中文全角空格等。
7. \w 匹配字母或数字或下划线或汉字等。
8. ^ 匹配字符串的开始。
9. $ 匹配字符串的结束。
(如:^和$两个代码在验证输入的内容时非常有用,比如一个网站如果要你填写的QQ号必须为5位到12位数字时,可以使用:^\d{5,12}$。)
PS:有些正则表达式处理工具还有一个处理多行的选项。如果选中了这个选项,^和$的意义就变成了匹配行的开始处和结束处。
10.\ 字符转义,用\来取消这些字符的特殊意义。(如:deerchao\.net匹配deerchao.net)
下面附一些个人整理的规则数据