首页 > 代码库 > 正则表达式

正则表达式

           正则表达式,一个听起来很高大上的东西。其实原来也听说过,当然,也只是仅限于听过了……

      那么,它到底是什么?又是干什么的?都能用在哪些方面?

      今天就先浅显的说一下,更深刻的应用及体会还没有,不能很好地给大家总结出来,见谅。

      

      正则表达式也有通俗些的名字,叫正规或者说常规表示法,这个听起来就比较平易近人了。褪去了它“高大上”的“糖衣”,我们就有信心去继续理解了。它其实就是使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。通常被用来检索、替换那些符合某个模式的文本。

      也就是说,它是一个字符串,一个有规则的字符串,这些字符串能检索、替换某些符合特定规则的文本。

      好了,理解了它的含义,我们就能充分去利用它解决一些问题了。下面通过一些分类的实例来进一步感受一下它功能上的“高大上”。

      先看一些函数用法,包括match()、replace()和test()。

      从字面上也很容易理解,他们分别是匹配、替换和检测的意思,检测就是看看要查的内容在指定的字符串中是否存在。

      举一个replace的例子:

<title>replace</title>
<script language="javascript " type="text/javascript">
       var str= "integer是一种数据类型";
       var reg= /integer/g;
       var tmp= str.replace(reg,"double");
       alert(tmp);
</script>
    //这段代码的关键行就是:var reg= /integer/g 。它表示全局范围(g表示全局)内的integer字符串都要参与下面的替换。

     再看一些符号用法:

     1、位置型:^和$分别表示以……开头、以……结尾;.表示任意一个字符。

     举一个^的例子:

<pre name="code" class="javascript"><script language="javascript " type="text/javascript">
       var str= "我赚大钱了";
       var reg= /^我/g;
       var tmp= str.replace(reg,"你");
       alert(tmp);
</script>
//这段代码的执行结果是:你赚大钱了,用“你”替换了“我”。

               注:本文代码语言均为Javascript。

     2、数量型:[……]表示多选一;[^……]表示一个也不能选;{}表示有固定的输入位数限制;\w(n,)表示n个字符以上;

     举一个多选一的例子:

<script language="javascript " type="text/javascript">
       var str= "get geet gelot geooot geet";
       var reg= /g[eo]t/g;
       var tmp= str.match(reg);
       alert(tmp);
</script>
//这段代码的执行结果是:get。只显示以一个e或一个o为中间那个字符的字符串。

    3、范围型:?相当于区间(0,1);+ 相当于(1,);* 相当于(0,)

    举一个+的例子:

<span style="font-size:18px;"><script language="javascript " type="text/javascript">
       var str= "adbc abbc abc ac";
       var reg= /(ab)+c/g;
       var tmp= str.match(reg);
       alert(tmp);
</script>
//这段代码的执行结果是:abbc,abc。</span>


      还有其他的如选择型符号“|”等就不一一列举了,大家可以百度更多信息。


      正则表达式在javascript的应用范围很广,比如我们的数字位数限制、输入内容类型限制等,体现在邮箱验证、密码验证、电话号码验证等各个方面。学习它我们需要更多的积累和实践,通过不断地应用发现其中的趣味性,进而促使我们能更深入地体会学习的乐趣,更容易地接触深层次的知识。






      

      

正则表达式