这里介绍正则表达式的基础知识,给对于没有基础的人一个很好的入门平台吧。
正则表达式的英文是regular expression。测试字符串的某个模式。例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码或一个身份证号码。正则表达式的最强大的作用就是查找和替换。
任何语言都离不开基础的语法,所以这里先介绍基础的语法:
1、
英文的句号(.)表示匹配任意一个字符,包括字母和数字等。如果要匹配它自己本身,则应使用“\”符号进行转义,具体写法为:\.还要说明的是,如果只写例如“ben”这样的字符,正则表达式会全字匹配,而且,是严格区分大小写的。但是如果是用在javascript中的正则表达式是不区分大小写的。
2、
[]区间,里面的任何数字都会被匹配到。例如:[hj],它会查找里特定文档里面所的h和j的元素。
3、
- 连字符,只能用在[]区间之间,在字符集合以外的地方,它只是一个普通的字符,不用被转义。
4、
^ 用在[]字符区间里,表示查找范围之外的元素,比如[^0-9]将查找数字之外的其它元素;特别说明的是:[^0-9a-z]将查找除数字0-9、字母a-z之外的其它字符。
下面介绍一些空白元字符:
[\b] 回退并删除一个字符
\f 换页符
\n 换行符
\r 回车符
\t 制表符
\v 垂直制表符
下面介绍数字元字符:
\d 任何一个数字字符,等价于[0-9]
\D 任何一个非数字字符,等价于[^0-9]
\w 任何一个字母、数字字符和下划线,等价于[0-9a-z_]
\W 任何一个非字母、数字字符和下划线,等价于[^0-9a-z_]
\s 任何一个空白字符,等价于[\f\n\r\t\v]
\S 任何一个非空白字符
介绍一些元字符:
* 匹配零个或任意多个字符,可以没有匹配
? 字符要么不出现,要么只出现一次
+ 匹配一个或多个字符,最少要匹配一次
{} 设定重复次数的语法,数值写在括号中间。{2,4}表示最少重复2次,最多重复4次。