1、正则表达式(RegularExpretion)
是用来描述“字符串特征”的“字符串”,按照特殊的规则来进行书写,其在现代编程语言中被广泛使用。
2、举个例子:
1)带有“数字”的字符串如何描述?
2)如何判断字符串是否为有效的身份证号,电邮格式,日期时间格式....?
3)判断字符串中是否有特定的字母组合,无论大小写?
4)判断。。。。。
以上都是正则表达式的用武之地。
3、正则对象
在javascript中,使用正则类(RegExp)来描述正则字串(记住它不是字符串对象)。
new的方法如下:
1)r1=newRegExp('正则式');
2)r2=/正则式/igm;
有了该对象,我们就可以大展手脚了,但是,等等,正则式的规则???
4、正则式规则初探:
以上“正则式”的部分可以出现以下字符:
1)普通字符或字符串“a,8,中国”等表示单字匹配,即写什么就匹配什么。
如:m=/abc/;表式目标字符串中包含abc,如dkdfdabcdfwer
2)表数量的字符:
a)“a*”表示0-n个a,如"abc","bcaadea","xdee"
b)"a+"表示1-n个a
c)"a?"表示0或1个a
3)表开头的"^",表结尾的"$"字符,如"^a",表示以a开头的字符串,"b$",表示以b结尾的字符串
4)特殊的字符
元字符 | 描述 |
---|---|
. | 查找单个字符,除了换行和行结束符。 |
\w | 查找单词字符。 |
\W | 查找非单词字符。 |
\d | 查找数字。 |
\D | 查找非数字字符。 |
\s | 查找空白字符。 |
\S | 查找非空白字符。 |
\b | 匹配单词边界。 |
\B | 匹配非单词边界。 |
\0 | 查找NUL字符。 |
\n | 查找换行符。 |
\f | 查找换页符。 |
\r | 查找回车符。 |
\t | 查找制表符。 |
\v | 查找垂直制表符。 |
\xxx | 查找以八进制数xxx规定的字符。 |
\xdd | 查找以十六进制数dd规定的字符。 |
\uxxxx | 查找以十六进制数xxxx规定的Unicode字符。 |
5)方括号:
表达式 | 描述 |
---|---|
[abc] | 查找方括号之间的任何字符。有a或b或c的字符串 |
[^abc] | 查找任何不在方括号之间的字符。 |
[0-9] | 查找任何从0至9的数字。 |
[a-z] | 查找任何从小写a到小写z的字符。 |
[A-Z] | 查找任何从大写A到大写Z的字符。 |
[A-z] | 查找任何从大写A到小写z的字符。 |
(red|blue|green) | 查找任何指定的选项。有red或blue或green的字符串 |