正则表达式笔记

正则表达式笔记

  

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


未完待续~~~

原文地址:https://www.cnblogs.com/yaoyaoling/p/9367957.html