您的位置:首页 > Web前端 > JavaScript

js一百零一夜之第十四夜-正则表达式(1)

2016-04-12 11:09 531 查看
参考文章:http://blog.csdn.net/hz_blog/article/details/7638697

<script>
//创建正则表达式 的两种方式
var regExp=/wo/;
var reg=new RegExp('wo');

//执行表达式
var str="wo123";
//str 执行表达式的字符串
var result= reg.exec(str);
// alert(result);//匹配的符串 wo  如果找不到返回null

function execReg(regExp,str){
var reg=regExp;
//检查字符串是否匹配
var retrunValue=reg.exec(str);
alert(retrunValue);
}
//-----------华丽分割线,以上的字符串查找太简单了,用正则有点大材小用了,使用indexOf 就可以完成了,正则表达式当然要承受更大的使命
//前人总结:一片,两片,三四片  落尽正则全不见 翻译过来就是{1} ,{2} ,{3,4},{1,}
//示意
//c{n}
var reg1=/c{1}/;//匹配一个c
var re1=reg1.exec('asdfacasdfasc');
var reg2=/c{2}/;   //匹配两个连续的c
var re2=reg2.exec('asdfacasdfasc');//null
//c{3,4}//匹配3个连续的c 或者4个连续的c
var reg3=/c{3,4}/;
execReg(reg3,'abcdcccc23432432');
//c{1,}//可以推断出 至少匹配一个c

var reg4=/e{1,}/;//var r=/c{n,}/;
execReg(reg4,'abcadfadfcccccccd');//null
//c{n,}表示最少n个c,最多则不限个数。
//---------------------------------华丽分割线-----------------------------------------------------------------
//平时看见过的正则表达式还有* + ?
var re=/c*!/;//!*表示0次或者多次,等同于{0,}
var re1=/c+/;//+表示一次或者多次,等同于{1,},
var re2=/c?/;//?表示0次或者1次,等同于{0,1} /c{0,1}/
//-------------------------------贪婪与非贪婪-----------------------------------------------------------------
var reg3=/c{3,4}/;
execReg(reg3,'abcdcccc23432432');
//返回cccc 并不是返回ccc 说明正则默认的是一种贪婪模式,那么如果我们只想匹配ccc 呢?非贪婪模式,该怎么做呢?
//答案是 可以在表示数字的符号后面加上一个?  但是那要以什么样的形式添加呢? 例如:
var reg3=/c{3,4}?/;
execReg(reg3,'abcdcccc23432432');//ccc 非贪婪模式
//-------------------------------------/^ 开头 $/结尾--------------------------------------------------------------------
var re=/c^/;//只匹配开头
execReg(re,'woc');//null
var re=/c$/;///只匹配结尾
execReg(re,'woc');//c
// -------------------------------------点 ‘.’-----------------------------------------------------------------
//.会匹配字符串中除了换行符\n之外的所有字符
var re=/./;
execReg(re,'woc');// w 匹配一个
var re=/.+/;
execReg(re,'woc');//woc 所有的字符串
var re=/.$/
execReg(re,'weo.com-- 乱弹');//弹
var re=/^./
execReg(re,'woc');// wo
var re=/^./
execReg(re,'\nwo deiafe');// null \n 无法匹配
</script>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: