js正则表达式 总结
来源:广州中睿信息技术有限公司官网
发布时间:2012/10/21 23:25:16 编辑:editor 阅读 282
和正则表达式相关的方法和属性:RegExp对象的方法:test,返回一个bool值,它指出在被查找的字符串中是否存在模式。如果存在返回true,否则返回false.exec,用正则表达式模式在字符串
  和正则表达式相关的方法和属性:    RegExp对象的方法:    test,返回一个bool值,它指出在被查找的字符串中是否存在模式。如果存在返回true,否则返回false.  exec, 用正则表达式模式在字符串中运行查找,并返回包含该查找结果的一个数组。  compile, 把正则表达式编译为内部格式,从而执行更快。    RegExp对象的属性:    source, 返回正则表达式模式的文本的复本,只读。  lastIndex, 返回字符位置,它是被查找字符串中下一次成功匹配的开始位置。  $1...$9, 返回九个模式匹配期间查找的字符串,只读。  input ($_),返回执行规范表述查找的字符串,只读。最好是这样使用RegExp['$_']  lastMatch ($&),返回任何正则表达式搜索过程中的最后匹配的字符,只读。  lastParen ($+),如果有的话,返回任何正则表达式查找过程中最后括的子匹配,只读。  leftContext ($`),返回被查找的字符串从字符串开始位置到最后匹配之前的位置之间的字符,只读。  rightContext ($'),返回被搜索的字符串中从最后一个匹配位置开始到字符串结尾之间的字符。只读。    string对象一些和正则表达式相关的方法:    match, 找到一个或多个正则表达式的匹配。  replace, 替换与正则表达式匹配的子串。  search, 检索与正则表达式相匹配的值。  split, 把字符串分割为字符串数组。       var re=new RegExp('a');  var re=new RegExp('a','i');    RegExp构造函数第一个参数为正则表达式的文本内容,而第二个参数则为可选项标志,标志可以组合使用:    g, 全文查找  i, 忽略大小写  m, 多行查找    创建正则表达式也可以简写为:  var re=/\d+/gi;    所有的元字符:当要用到元字符本身时,要进行转义。  ( [ { \ ^ $ | ) ? * + .    贪婪匹配:re=/(\d+)0/;  表示匹配10,100,1000,10000等,能匹配多少就匹配多少。  惰性匹配:re=/(\d+)?0)/; 表示匹配10,返回最少匹配。    捕获分组,加入() :re=/(\d+)([a-z])/;  非捕获分组,加入?: :re=/(\d+)(?:[a-z])/;    候选|  re=/(if|else) \d/; 匹配if 3 或else 5    嵌套分组:  (A?(B?(C?)))  多外往内产生三个分组。      反向引用  re=/(\d+)-(\d+)/;  s="12-34";  s.replace(re,"$2-$1");    re=/(\w+)\s\1/;  匹配go go或how how等。      正向前瞻:?=  re=/([a-z]+)(?=\s+8\.10)/gi;  s="Ubuntu 8.10";  s.replace(re,'Redtub') //结果为Redtub 8.10    负向前瞻:?!  re=/([a-z](?!\d))/i;  str="abc 1 one";  re.test(str);  alert(RegExp.$1);  //结果为one    一个复杂的例子:  构建一个验证电子邮箱地址有效性的正则表达式。电子邮箱地址有效性要求:用户名只能包含  字母数字以及下划线,最少一位,最多15位,用户名后面紧跟@,后面是域名,域名名称要求只  能包含字母数字和(-),并且不能以减号开头和结尾,然后后面是域名后缀(可以有多个),  域名后缀必须是点号连上2-4位英文字母。  var re=/^\w{1,15}(?:@(?!-))(?:(?:[a-z0-9-]*(?:[a-z0-9](?!-))(?:\.(?!-))))+[a-z]{2,4}$/;  

  

联系我们CONTACT 扫一扫
愿景:成为最专业的软件研发服务领航者
中睿信息技术有限公司 广州•深圳 Tel:020-38931912 务实 Pragmatic
广州:广州市天河区翰景路1号金星大厦18层中睿信息 Fax:020-38931912 专业 Professional
深圳:深圳市福田区车公庙有色金属大厦509~510 Tel:0755-25855012 诚信 Integrity
所有权声明:PMI, PMP, Project Management Professional, PMI-ACP, PMI-PBA和PMBOK是项目管理协会(Project Management Institute, Inc.)的注册标志。
版权所有:广州中睿信息技术有限公司 粤ICP备13082838号-2