JavaScript正则表达式19例(4)

简介:

 (续例3……)

例4:多行、全文定位符匹配

 
 
  1. void function reg_04()  
  2. {  
  3.     var s = "Live for nothing,\ndie for something"//多行  
  4.     var r1 = /^.*/g, //匹配1次  
  5.         r2 = /^.*/mg, //匹配2次  
  6.         r3 = /^.*/m, //匹配1次  
  7.         r4 = /^.*/; //匹配1次  
  8.     for (n = 1; n <= 4; n++)  
  9.     {  
  10.         t = "alert(s.match(r" + n + ").length);";  
  11.         eval(t);  
  12.         t = "r" + n;  
  13.         for (i = 0; i < s.match(eval(t)).length; i++)  
  14.         {  
  15.             alert(s.match(eval(t))[i]);  
  16.         }  
  17.     }  

这个例子有些意思,主要区分多行开关m和全文匹配开关g
字符串s中包含了一个\n,即换行符,这将导致后面的匹配过程需要考虑多行的问题。
r1~r4都要求从行首匹配,都是匹配任意多个任意字符。
r1只带有开关g,故而匹配全部,由于未加多行开关m,故而只识别第一行,即匹配:Live for nothing,
r2带有开关gmm将字符串解析为多行(两行),g要求匹配全部可匹配的内容,所以会匹配两次。
r3只带有开关m,可将字符串解析为多行,但由于没有开关g,故而,只匹配第一次。
r4不带任何开关,字符串只会识别第一行,且没有开关g,故而只匹配一次。
行10:Sring对象的match()方法的返回值其实是一个数组对象,可以通过其length属性获取其中的元素个数,即匹配了多少次。
行13~行16:这个for循环逐一枚举match()返回数组中的内容。
运行结果:可以看到,只有正则表达式r2会匹配两次。

(未完待续……)










本文转自 BlackAlpha 51CTO博客,原文链接:http://blog.51cto.com/mengliao/466829,如需转载请自行联系原作者
目录
相关文章
|
JavaScript 前端开发
js中通过正则表达式验证邮箱是否合法
这篇文章提供了一个JavaScript示例,通过正则表达式在网页上验证用户输入的邮箱地址是否合法,并给出了相应的提示信息。
js中通过正则表达式验证邮箱是否合法
|
JavaScript 前端开发
电话号码正则表达式 代码 javascript+html,JS正则表达式判断11位手机号码
电话号码正则表达式 代码 javascript+html,JS正则表达式判断11位手机号码
1056 2
|
自然语言处理 JavaScript 前端开发
JavaScript 正则表达式
JavaScript 正则表达式
144 3
|
机器学习/深度学习 JavaScript 前端开发
JavaScript中的正则表达式详细展示
JavaScript中的正则表达式详细展示
287 6
|
JavaScript 前端开发 测试技术
JavaScript进阶-正则表达式基础
【6月更文挑战第21天】正则表达式是处理字符串的利器,JavaScript中广泛用于搜索、替换和验证。本文讲解正则基础,如字符匹配、量词和边界匹配,同时也讨论了常见问题和易错点,如大小写忽略、贪婪匹配,提供代码示例和调试建议。通过学习,开发者能更好地理解和运用正则表达式解决文本操作问题。
309 1
|
XML JavaScript 前端开发
【JavaScript | RegExp】正则表达式
【JavaScript | RegExp】正则表达式
346 4
|
前端开发 JavaScript
前端 js 经典:正则表达式
前端 js 经典:正则表达式
346 2
|
JavaScript 前端开发 索引
JavaScript中的正则表达式:使用与模式匹配
【4月更文挑战第22天】本文介绍了JavaScript中的正则表达式及其模式匹配,包括字面量和构造函数定义方式,以及`test()`、`match()`、`search()`和`replace()`等匹配方法。正则表达式由元字符(如`.`、`*`、`[]`)和标志(如`g`、`i`)组成,用于定义搜索模式。文中还分享了正则使用的技巧,如模式分解、非捕获分组和注释。掌握正则表达式能提升文本处理的效率和代码质量。
|
JavaScript 数据安全/隐私保护
js 常用正则表达式【实用】
js 常用正则表达式【实用】
295 0
|
存储 JavaScript 前端开发