好好学一遍JavaScript 笔记(六)——正则表达式基础二(3)
来源:未知 责任编辑:责任编辑 发表时间:2015-09-17 09:43 点击:次
{n,} {n,}? {n,}+ 至少n次出现
---------------原文出自《javaScript高级程序设计》-----------------------
复杂模式——分组:
[javascript]
/**
* 分组、
* 假设想匹配字符串"dogdog"。使用目前获得的知识
* 可能估计表达式应该类似:
*/
var res = /dogdog/g;
alert(res.test("dogdog"));
//分组重写:
var res = /(dog){2}/g;
alert(res.test("dogdog"));
//分组量词使用
var re1 = /(dog)?/; //出现零次或一次
var re2 = /(dog)*/; //出现零次或多次(任意次)
var re3 = /(dog)+/; //出现一次或多次(至少出现一次)
//同时也可以将分组放在中间
var res = /(mmm( and nnn)?)/;
trim() 方法:
[javascript]
/**
* trim() 方法
* "\s" 匹配所有空格 .
* "." 小数点可以匹配除了换行符(\n)以外的任意一个字符.
* "^" 与字符串开始的地方匹配,不匹配任何字符.
* "{1}quot; 与字符串结束的地方匹配,不匹配任何字符.
* var reExt = /^\s*(.*?)\s+$/ ;
* 这个正则表达式将查找字符串开头的零个或多个空白、
* 跟着是任意数目的字符(在分组中捕获的字符)、
* 最后字符串结尾处又是零个或多个空白。
* 通过配合使用String对象的replace()方法以及反向引用、
* 就可以自定义自己的trim()方法:
*/
String.prototype.trim = function(){
var reExt = /^\s*(.*?)\s+$/ ;
/*
* $1表示的就是左边表达式中括号内的字符,即第一个子匹配,
* 同理可得$2表示第二个子匹配。什么是子匹配呢?通俗点讲,
* 就是左边每一个括号是第一个字匹配,第二个括号是第二个子匹配。
*/
return this.replace(reExt,"$1");
};
alert("'"+" fdsa ".trim()+"'");
反向引用:
[javascript]
相关新闻>>
最新推荐更多>>>
- 发表评论
-
- 最新评论 更多>>