实例解析:
var reg = /\(?0\d{2}[) -]?\d{8}/。
“(”和“)”也是元字符,后面的分组节里会提到,所以在这里需要使用转义。
这个表达式可以匹配几种格式的电话号码,像(010)88886666,或022-22334455,或02912345678等。我们对它进行一些分析吧:首先是一个转义字符\(,它能出现0次或1次(?),然后是一个0,后面跟着2个数字(\d{2}),然后是)或-或空格中的一个,它出现1次或不出现(?),最后是8个数字(\d{8})。
以下通过实例来讲解RegExp:
需求一:在一句话英文中匹配一个hi的单词。
var str = \'Hi RegExp I love you so much Hi Hi hi\'; var reg = new RegExp("\\bhi\\b","gi");//g是一个修饰符,表示全局匹配。\b是一个元字符,代表单词边界,匹配单词的开头和结尾。 //直接量语法: reg2 = /\bhi\b/gi; console.log(str.match(reg2));//[\'hi\',\'hi\',\'hi\',\'hi\'] //升级 //匹配hi后面不远处跟着一个lucy var strlc = /\bhi\b.*\blucy\b/; var luch = \'hi welcome to beijing lucy!!!\'; console.log(luch.match(strlc));