上回写到了使用构造函数的方法来使用正则函数,使用起来很是简单,但是她家可能常看到这种写法:
var patt1 = /\b([a-z]+) \1\b/ig;
document.write(str.match(patt1));
这是在菜鸟上截的一段代码。一看就知道是正则,对吧,但是有时候却不懂,必须去查一查,而且对于新手来讲,还是一脸蒙蔽,但是各大网站都是默认大家有基础的,所以
我们需要一步一步来
首先,定义一个字符串:
var string = "1234a/数字";
这是一个有数字,汉字,小写英文字母,斜杠(特殊字符串)的字符串
首先,我们定义下pattern;
var patt1=/a/;
然后:
console.log(patt1.exec(string));
打印出来的结果,就是“a”这个单词了。
所以,看出来了。第一个/表示的是开头。第二个斜杠表示的是结尾,中间的a就是我们的匹配字符串了
接下就第二个,匹配数字还有斜杠
var patt1 = /\w\//;
解析下,第一个/自然是开头,第二还有第三个,合起来就是\w,表示的是什么?自己查去。至于第四还有第五,就是表示我们的/了。因为/这个字符串有特殊含义,所以引用的时候必须加个\(没错。就像我们引用(\w表示字符类(包括大小写字母,数字))的时候一样)
接下来是比较麻烦的汉字,这个使用ascii的汉子,很是麻烦。为什么?比如郑字,它可以匹配到。但是字。。。他又不认。。很是麻烦。但是还是写出来吧
var patt1 =/[\u4e00-\u9fa5]{2}/;
这个很是简单,{}表示的是匹配两个
既然是入门级别,要专研就需要大家自己去找,给个提示,大家可以找找用构造方法与不用回有什么区别,有什么影响