一,什么是正则表达式?
匹配字符串的一种规则。
二,如何创建正则表达式?
1,字面量的方式: /正则表达式/标志位,
2,构造函数方式: new RegExp('正则表达式','标志位')
三,正则表达式的方法?
1 正则对象.test(字符串) : 用于测试字符串是否包含正则的内容,返回布尔值,常用于表单验证;
2,正则对象.exec(字符串):返回伪数组,数组中的第一个元素是整个正则表达式匹配的内容,其他元素是组匹配的内容。
三,字符串的方法
1,字符串.match(正则表达式);返回伪数组,数组中的第一个元素是整个正则表达式匹配的内容,其他元素是组匹配的内容。
区别:
//1,无组无标志位的时候
var re = /o/;
var str = 'how do you do';
console.log(re.exec(str));//['o']
console.log(str.match(re));//["o"]
//2,无组有标志位的时候
var re = /o/g;//g表示匹配全局
var str = 'how do you do';
console.log(re.exec(str)); //['o']
console.log(str.match(re));//['o','o','o','o']
//3,有组无标志位g
var re =/(.+)do(.+)/;
var str ='how do you do';
console.log(re.exec(str));//[ "how do you do", "how ", " you do" ]
console.log(str.match(re));//[ "how do you do", "how ", " you do" ]
//3有组有标志位g
var re =/(.+)do(.+)/g;
var str = 'how do you do';
console.log(re.exec(str));//[ "how do you do", "how ", " you do" ]
console.log(str.match(re));//[ "how do you do"]
<2>replace()
替换字符串前后空格
3. search() 和indexOf()
四,正则表达式的元字符有哪些?三三二三个一
三: { } () [ ]
{ }: 限制括号前的 一个或一组字符连续出现的次数;
():表示组;
var re = /^(do){3,5}$/;
var str = "dododo";
console.log(re.test(str))
[ ]:表示范围;
三 * + ?
* :相当于{0,}限制*前的一个或一组字符出现0至无限次;
+ :相当于{1,}限制+前的一个或一组字符出现1到无限次;
? :相当于{0,1}限制问号前的一个或一组字符出现0至1次;
二 : ^ $
^ :1..用于表达式开头,表示顶头(限制开头字符)
2. 用于[ ]的开头表示取反
$ :只能用于正则表达式结尾,表示定尾(限制结尾字符)
三个一
. : 表示模糊匹配任意一个字符,
| :表示或,
: 转义字符,
s : 表示空白,
S:表示非空白;
d:表示数字;[0-9]
D表示非数字;[^0-9]
w:表示字母,数字,下划线 [a-zA-Z0-9_],
W : 表示非字母,数字,下划线 [^a-zA-Z0-9_],
: 表示单词边界,
B : 表示非边界