- 转义符
- /^http:///
- /@163.com$/
/^http:///.test("http://www.163.com") // => true
/@163.com$/.test("http://abc@163.com") // => true
- 多选分支
- /thi(c|n)k/ === /thi[cn]k
- /.(png|jpg|jpeg|gif)$/
/.(png|jpg|jpeg|gif)$/.test("abc.jpg") // => true
- 捕获
- 保存匹配到的字符串,日后再用
- ():捕获
- (?:) :不捕获
- 使用:
- $1, $2, ...
- api参数或返回值
var url = "http://blog.163.com/album?id=1#comment";
var reg = /(https?:)//([/]+)(/[?])?(?[^#])?(#.*)?/;
var arr = url.match(reg);
var protocol = arr[1];
var host = arr[2];
var pathname = arr[3];
var search = arr[4];
var hash = arr[5];
- str.replace( regexp/substr, replacement )
-
替换一个子串
var str = "The price of tomato is 5.";
str.replace(/(\d+)/, "$1.00"); // => The price of tomato is 5.00.var str = "The price of tomato is 5, the price of apple is 10." str.replace(/(\d+)/g, "$1.00"); // => The price of tomato is 5.00, the price of apple is 10.00. var html = "<label>网址:</label><input placeholder="以http://起始">"; html = html.replace(/[<>]/g, function (m0) { switch(m0) { case "<": return "<"; case ">": return ">"; } });
-
- regexpObj.exec( str )
- 更强大的检索
更详尽的结果:index
过程的状态:lastIndex
var reg = /(.)(\d+)/g;
var scores = "Tom $88, Nicholas ¥100, jack £38";
var result;
while(result = reg.exec(scores)){
console.log(result);
console.log(reg.lastIndex);
}
/*
[ '$88', '$', '88', index: 4, input: 'Tom $88, Nicholas ¥100, jack £38' ]
7
[ '¥100', '¥', '100', index: 18, input: 'Tom $88, Nicholas ¥100, jack £38' ]
22
[ '£38', '£', '38', index: 29, input: 'Tom $88, Nicholas ¥100, jack £38' ]
32
*/
- 更强大的检索
正则表达式2
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 在JavaScript正则表达式(1)中,我们学习了如何声明一个正则对象以及正则里常用的一些元字符,正则对象的方法...