正則表達式

           正則表達式。一个听起来非常高大上的东西。

事实上原来也听说过,当然,也仅仅是仅限于听过了……

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

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

      

      正則表達式也有通俗些的名字,叫正规或者说常规表示法。这个听起来就比較平易近人了。

褪去了它“高大上”的“糖衣”,我们就有信心去继续理解了。

它事实上就是使用单个字符串来描写叙述、匹配一系列符合某个句法规则的字符串。通常被用来检索、替换那些符合某个模式的文本。

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

      好了,理解了它的含义。我们就能充分去利用它解决一些问题了。

以下通过一些分类的实例来进一步感受一下它功能上的“高大上”。

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

      从字面上也非常easy理解,他们各自是匹配、替换和检測的意思,检測就是看看要查的内容在指定的字符串中是否存在。

      举一个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的应用范围非常广,比方我们的数字位数限制、输入内容类型限制等,体如今邮箱验证、password验证、电话号码验证等各个方面。

学习它我们须要很多其它的积累和实践,通过不断地应用发现当中的趣味性,进而促使我们能更深入地体会学习的乐趣,更easy地接触深层次的知识。






      

      

posted @ 2017-05-29 10:00  gccbuaa  阅读(384)  评论(0编辑  收藏  举报