码迷,mamicode.com
首页 > 编程语言 > 详细

外文翻译——JavaScript Tutorial——Regular Expression——(1)

时间:2016-07-30 21:02:18      阅读:223      评论:0      收藏:0      [点我收藏+]

标签:

原文地址:http://javascript.info/tutorial/regexp-introduction

简介

正则表达式有非常强大的用于字符串“查找”和“替换”的功能。在JS中,它被集成在字符串方法:search, match和replace中。

正则表达式,由一个pattern(匹配规则)和flags(修饰符—可选)组成。

一个基本的正则匹配跟子串匹配一样。斜杠"/"包围的字符串可以创建一个正则表达式。

1 regexp = /att/
2 
3 str = "Show me the pattern!"
4 
5 alert( str.search(regexp) ) // 13

上面例子中,str.search方法返回了正则式"att"在字符串"Show me the pattern!"中的位置。

在实际运用中,正则式可能会更加复杂。下面的正则式匹配email地址:

1 regexp = /[a-z0-9!$%&‘*+\/=?^_`{|}~-]+(?:\.[a-z0-9!$%&‘*+\/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+(?:[A-Z]{2}|com|org|net|edu|gov|mil|biz|info|mobi|name|aero|asia|jobs|museum)\b/
2 
3 str = "Let‘s find an email@gmail.com here"
4 
5 alert( str.match(regexp) )   // email@gmail.com

str.match方法输出匹配的结果。

学完本教程以后,你不仅能完全理解上面的正则式,还能创造更复杂的正则式。

在JS控制台中,你可以直接调用str.match方法测试正则式

1 alert( "lala".match(/la/) )

在这里,我们会让demo短一点,并利用方便的showMatch函数输出正确的匹配结果:

1 showMatch( "Show me the pattern!", /att/ )  // "att"
 1 function showMatch(str, reg) {
 2   var res = [], matches;
 3   while(true) {
 4     matches = reg.exec(str)
 5     if (matches === null) break
 6     res.push(matches[0])
 7     if (!reg.global) break
 8   }
 9   alert(res)
10 }

接下来的教程里,我们将开始学习正则式的语法。

外文翻译——JavaScript Tutorial——Regular Expression——(1)

标签:

原文地址:http://www.cnblogs.com/zysos2016/p/5721702.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!