正则-笔记

来源:互联网 发布:淘宝卖家怎么用返利网 编辑:程序博客网 时间:2024/05/21 13:57

\b表示开头或结尾,空格、标点、换行都是分割,而\b自身不会匹配任何字符,它代表的只是一个位置

*表示的任意长度包括0,空字符也会被匹配

.表示表示除换行符以外的任意字符,空格字符也包括

\S它表示的是 不是空白符的任意字符

[]表示其中任意一个字符,[hi]表示匹配 h或i而不是匹配hi

[0-9]匹配0123456789的连续数字,类似的还有[a-zA-Z],另一种表示数字为\d

任意长度数字[0-9]或者/d,

由于*包括空字符,如果想要一个纯粹的数字串,应用[0-9]+或者\d+

+表示一个或者更多,如果想要限制长度用{},如\d{10}表示一个数字长度为10,开头为1的10位数字则应写为1\d{9}

\w - 匹配字母或数字或下划线或汉字(我试验下了,发现3.x版本可以匹配汉字,但2.x版本不可以)

\s - 匹配任意的空白符

^ - 匹配字符串的开始

$ - 匹配字符串的结束

\S其实就是\s的反义,任意不是空白符的字符。同理,还有:

\W - 匹配任意不是字母,数字,下划线,汉字的字符

\D - 匹配任意非数字的字符

\B - 匹配不是单词开头或结束的位置

[a]的反义是[^a],表示除a以外的任意字符。[^abcd]就是除abcd以外的任意字符

? - 重复零次或一次

{n,} - 重复n次或更多次

{n,m} - 重复n到m次