1.教科书级别概念:正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),

   可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。

 (纸上得来终觉浅 啊!!!) 

2.写法

1 (1). var reg=/a/;   (ps:简写的方式可以优化性能)
2 (2). var reg= new RegExp("a") ; (ps:需要传入参数就可以这样写)

 

 附图三张:

3.方法

(1).test:正则去匹配字符串,如果匹配成功就返回真,如果匹配失败就返回假   用法: 正则表达式.test(string)

举起我们手中的栗子: 

1 var str1="12345687";
2 var reg1=/\D/;  //非数字
3 console.log(reg1.test(str1)) ; //false  

 

(2).search: 正则去匹配字符串,如果匹配成功就返回匹配成功的位置,匹配失败返回-1  用法:string.search(正则表达式)

栗子:

1 var str2="abf";
2 var reg2=/B/i;
3 console.log(str2.search(reg2)); // 1

 

(3).match:正则去匹配字符串,如果匹配成功就返回匹配成功的数组,匹配失败返回null  用法:string.match(正则表达式)

 栗子:  

1 var str3="dhaidha141frjn5515405";
2 var reg3=/\d/g; //正则匹配成功就会结束,不会继续匹配;如果想全部查找,就要加标识 g(全局匹配)   \d 代表的是匹配数字
3 console.log(str3.match(reg3)); // ["1", "4", "1", "5", "5", "1", "5", "4", "0", "5"]  ps:匹配成功,就返回匹配成功的数组  匹配失败就返回null

 

(4).replace:正则去匹配字符串,匹配成功的字符去替换成新字符

1 var str4="aaacc";
2 var reg4=/a+/g;
3 console.log(str4.replace(reg4,"b")); //bcc 

 

 

4.这里说几个基础语法,以方便我们更好的和正则表达式沟通  哈哈哈

(1)  * , +, ? 

栗子:

1 var str="abbbbb";
2 var res=/ab*/; //表示一个字符串有一个字母a后面跟着零个或者若干个b  (0 or 若干)
3 var res=/ab+/; //表示一个字符串有一个字母a后面跟着至少一个或者若干个b (1 or 若干)
4 var res=/ab?/; //表示一个字符串有一个字母a后边跟着零个或者一个b  (0 or 1)
5 var res=/a?b+$/; //表示一个字符串的结尾有零个或者一个a后面跟着至少一个或者若干个b 如 abbbbc  

 

(2) { } 代表范围 

1 var str="abb";
2 var res=/ab{2}/; //表示有一个字符串有一个字母a后面跟着2个b
3 var str0="abbbbbb";
4 var res=/ab{3,}/; //表示一个字符串有一个字母a后面跟着至少3个或者更多个b
5 var res=/ab{1,5}/; //表示一个字符串有一个字母a后面跟着至少1~5个b

 

(3) [ ] 方括号表示某些字符允许在一个字符串中的某一特定位置出现

1 var str="15228";
2 var res=/[0-9]/; //一个字符串是0-9之间的数字
3 var str1="a14545dajhfa";
4 var res=/^[a-zA-Z]/; //一个字符串以字母开头的

 

今天的正则表达式入门先到这里,我们下期见~~~

 posted on 2018-07-04 17:34  穿越黑暗  阅读(164)  评论(1)    收藏  举报