正则表达式学习

来源:互联网 发布:mac导出iphone照片 编辑:程序博客网 时间:2024/06/01 10:37

一、 创建正则表达式的两种方式

1.  通过构造函数定义var 变量名 = new RegExp(/表达式/);2.  通过直接量定义var 变量名 = /表达式/;

二、 认识正则符号

简写   完整写法        语意1.  .       [^\n\r]          除了换行和回车之外的任意字符2.  \d   [0-9]            数字字符3.  \D   [^0-9]           非数字字符4.  \s  [\t\n\xOB\f\r]     空白字符5.  \S  [^\t\n\xOB\f\r] 非空白字符6.  \w   [a-zA-Z_0-9]       单词字符7.  \W   [a-zA-Z_0-9]       非单词字符

注:括号内,前面加个元字符^进行取反,表示匹配不能为括号里面的字符。Eg: console.log(/[^abc]/.test(‘a’)); 答案是false

三、 特殊字符

\t  ——  制表符\n  ——  换行符\r  ——  回车符\f   ——  换页符\b  ——  与回退字符\v  ——  垂直制表符\o  ——  空字符

四、 正则说明

1. 如果匹配的东西过多,但类型又是一致的,这种情况下,可以在中间加一个-表示范围eg: [a-z]表示a到之间;2. ^ 会匹配行或者字符串的起始位置3. $ 会匹配行或字符串的结尾位置

五、 量词

“*” === {0,}(贪婪)重复零次或更多(>=0)“ + ” === {1,}(懒惰)重复一次或更多次(>=1)“ ? ” ==={0,1}(占有)重复零次或一次(0||1

六、 正则对象方法

用来检测字符串是否符合定义的正则规则,结果返回truefalseEg: var reg = /^\d$/;        Console.log(reg.test(“测试”)); //返回false        Console.log(reg.test(“123”)); //返回true

七、 实例

验证姓名:只能是汉字,并且字数在2-3个之间  [\u4e00-\u9fa5]匹配Email地址的正则表达式:  /^[\w]+\@[\w]+\.[\w]{2,4}$/匹配网址URL的正则表达式:  [a-zA-z]+://[^\s]*
1 0
原创粉丝点击