正则表达式应用系列一(准备)
2011-05-28 17:55 英雄小宝 阅读(264) 评论(0) 收藏 举报本系列主要是从基本语法到javascript应用,最后是在C#数据采集中的应用。
阐述语法前,需要做一些准备性的工作:基于javascript正则。虽然JavaScrip和C#在正则语法有极小差别,但不影响下面的学习,后文会说明不一样的地方。辅助工具:RegexBuddy.3.4.0。
在JavaScript里一般两个地方用到正则,1.RegExp对象的方法,2.字符串方法。下面介绍一下RegExp对象如何定义,怎么应用的。定义方法有两种,并且他们是等效的。如下
var regStr=new RegExp("[a-z]","gi");//第一种方法
var regStr2=/[a-z]/gi;//第二种方法
var matchStr=“abCDe";
alert(regStr.test(matchStr)); //输出bool型的true;这里5个字母均匹配,test方法只要找到一个匹配的就return true
var result=regStr.exec(matchStr);//只返回一个匹配的结果,就是"a"
var results=regStr.match(matchStr);//返回所有匹配的结果,并且存放在一个数组里。结果分别是:"a","b","C","D","e"
字符串方法包括:search,replace,spilt
var regStr=/[a-z]/gi;//全局g对search无效
var matchStr=“abCDe";
alert(matchStr.search(regStr));//输出第一个匹配位置的索引,由于是全局的,所以无法匹配,如果去掉g,则可以的,输出0
alert(matchStr.replace(regStr,'k'));//输出"kkkkk",将所有匹配项替换为"k";如果不是全局,只替换第一个,即"kbCDe"
var regStr2=/c/i;
var arrs=matchStr.spilt(regStr2);//得到一个数组"ab","De"
代码可以放到JavaScript在线测试工具测试。
下一篇开始讲述元字符、特殊字符、[]、^、[ - ]、组合类、预定义类。量词(贪婪、惰性、支配)、分组(捕获、非捕获)、候选、前瞻、边界、多行。
浙公网安备 33010602011771号