当前位置:编程学习 > 网站相关 >>

学习正则表达式(一)

 

十一大假,在家闲着无聊,想要模拟一个JQuery。

 

最最棘手的问题---正则表达式。是个头疼问题,所以我下定决心要搞定正则!

 

 

view plain

//首先,JS中的正则表达式有一个专门的类  

 

var reg = new RegExp("这里传个正则表达式进去");  

 

// 有两个验证方法 

  

reg.exec("需要验证的字符串"); // exec方法,如果所传的字符串匹配这个正则表达式,则返回这个字符串,否则返回null;  

reg.test("需要验证的字符串");// test方法,如果所传的字符串匹配这个正则表达式,则返回true,否则返回false  

 

// 很简单的两个方法。 

 

 

//拿一个新东西,应该先看看他是怎么用的 

 

 

var reg = new RegExp("hello");  //最最经典的例程,你懂得 

 

//现在我要匹配这个字符串 然后把结果用console.debug打出来 

 

console.debug(reg.test("hello world!")); 

 

//结果为true ,说明 字符串hello world 可以被 正则hello 所匹配 

 

但如果hello 前后还有字符串呢? 比如  xxxxhellobbb   ,这样 正则hello 将无法匹配成功 

 

正则提供了占位符  \b  它不代表任何字符,只起一个占位的作用,如果我这么写正则  \bhello\b  那么 无论 字符串前后有多少其他的字符 都可以成功匹配了 

 

现在我们能匹配hello了,但world怎么办呢? 有人说 在正则里面加个空格然后写上world...对,这样是可以。但如果hello后面还有N个其他的字符串,如何去匹配world呢? 

 

正则提供了几个元字符,".","*"  ,"." 匹配除了换行符外的所有字符,"*"不匹配任何字符,它的作用是代表数量,对 就是数量,无限的数量。  

 

 

如果正则这么写    \bhello\b.*\bworld!\b   来尝试读一下这个正则表达式,不要觉得它长就被吓住了,完全没有必要。JQuery里面的正则 上百个字符! 

 

占位符 字符串hello 占位符 所有的不限长度的字符串 占位符 字符串world! 占位符     

 

觉得好理解么?不管你理不理解,反正我是理解了。 

 

只要传进来的字符串能够符合这个条件,那么就能匹配成功。 

 

比如  我传个   "hello xxx !!! sdsdjddjskdfkdkjworld!"  快试试 能成功不 嘿嘿 

 

好好消化一下。多测试测试 动动手~~~ 

作者:一个爱吃西瓜的程序员

补充:综合编程 , 其他综合 ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,