正則表達式
正則表達式。一个听起来非常高大上的东西。
事实上原来也听说过,当然,也仅仅是仅限于听过了……
那么,它究竟是什么?又是干什么的?都能用在哪些方面?
今天就先浅显的说一下。更深刻的应用及体会还没有,不能非常好地给大家总结出来,见谅。
正則表達式也有通俗些的名字,叫正规或者说常规表示法。这个听起来就比較平易近人了。
褪去了它“高大上”的“糖衣”,我们就有信心去继续理解了。
它事实上就是使用单个字符串来描写叙述、匹配一系列符合某个句法规则的字符串。通常被用来检索、替换那些符合某个模式的文本。
也就是说。它是一个字符串,一个有规则的字符串,这些字符串能检索、替换某些符合特定规则的文本。
好了,理解了它的含义。我们就能充分去利用它解决一些问题了。
以下通过一些分类的实例来进一步感受一下它功能上的“高大上”。
先看一些函数使用方法,包含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地接触深层次的知识。