正则表达式笔记
正则表达式笔记
1.test()//校验
正则表达式的两种方式:
方式一:通过/ *** /赋值
var filter=/^[a-zA-Z0-9_]+$/;
方式二:通过new
var filter1=new RegExp('^[a-zA-Z0-9_]+$');
var value="cat123";
if(filter.test(value)){
console.log("yes");//输出yes
}
if(filter1.test(value)){
console.log("yes");//输出yes
}
2.相关通配符
var filter=/hi/;
hi匹配包含"hi"的字符串
--------------------------------------------------------------------------------------------
var filter=/\d/;
\d匹配一个数字的字符串
--------------------------------------------------------------------------------------------
var filter=/\D/;
\D匹配一个非数字的字符串
--------------------------------------------------------------------------------------------
var filter=/\w/;
\w匹配字母、数字、下划线的字符串
--------------------------------------------------------------------------------------------
var filter=/\W/;
\w匹配除字母、数字、下划线外的字符串
--------------------------------------------------------------------------------------------
var filter=/^/;
^匹配代表字符串的开头
如:^hi 匹配所有hi开头的字符串
--------------------------------------------------------------------------------------------
var filter=/$/;
$匹配代表字符串的结尾
如:
hi$ 匹配所有hi结尾的字符串
^hi$ 只能匹配hi
--------------------------------------------------------------------------------------------
var filter=/[]/;
[]匹配指定一堆字符中的一个
如:
^[a-z]hi$ 匹配所有hi结尾的且以某个小写字母开头的字符串
^[A-Za-z]hi$ 匹配所有hi结尾的且以某个小写或大写字母的开头字符串
^[aeiou]hi$ 匹配所有hi结尾的且且以a、e、i、o、u其中一个字母开头的字符串
--------------------------------------------------------------------------------------------
var filter=/[^]/;
[^]不匹配方括号这个集合中的任何一个字符
如:^[^xyz]at$ 不能匹配的字符串xat yat zat
--------------------------------------------------------------------------------------------
重复符号 +
+ 表示前一模式可以被重复一次或多次
如:
^go+gle$ 可以匹配举例:gogle google goooooogle
^g[aeiou]+gle$ [aeiou]这属于一个模式,可以匹配举例:gagle gegle geagle geaeeaioueagle
--------------------------------------------------------------------------------------------
重复符号 *
* 表示前一模式可以被重复0次或多次
如:
^go+gle$ 可以匹配举例:ggle google goooooogle
--------------------------------------------------------------------------------------------
? 表示前一模式可以匹配0次或1次
如:^go?gle$ 可以匹配举例:ggle gogle
-------------------------
重复符号{x}
{x}表示前一模式可以重复x次
如:^go{2}gle$ 只可以匹配: google
----------------------------------------------------------------------------------------------
重复符号{x,y}
{x,y}表示前一模式可以重复x次到y次
如:^go{2,3}gle$ 只可以匹配: google gooogle
----------------------------------------------------------------------------------------------
重复符号{x,}
{x,}表示前一模式至少重复x次
如:^go{2,}gle$ 可以匹配: google gooogle
----------------------------------------------------------------------------------------------
子表达式()
()可以指定一堆字符来匹配一个模式
如:^(very)*big$ 可以匹配举例:big veryverybig verybig veryveryverybig
------------------------------------------------------------------------------------------------
分支 |
用来指定几个规则只要匹配一个规则即将成匹配
如:^com$|^org$|^net$ 只能匹配的 com org net
---------------------------------------------------------------------------------------------------
转义符号 \
如果要匹配一些含有特殊含义的字符时,可以使用转义符号
如:^1\*\(2\+3\)=6$ 只能匹配1*(2+3)=6
未完待续~~~