正则表达式中的一些注意点

本文详细介绍了正则表达式中的贪婪模式与懒惰模式的区别,并提供了具体的JavaScript代码示例。同时,文中还讲解了如何使用正则表达式匹配单个汉字。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

推荐文章http://www.cnblogs.com/rubylouvre/archive/2010/03/09/1681222.html

1. .*与.*?的区别

var re1 = /.*bbb/gi;//贪婪
var re2 = /.*?bbb/gi;//惰性
//  var re3 = /.*+bbb/g;//支配性,javascript不支持,IE与所有最新的标准浏览器都报错
alert(re1.test("abbbaabbbaaabbbb1234")+"");//true
alert(re1.exec("abbbaabbbaaabbbb1234")+"");//null
alert("abbbaabbbaaabbbb1234".match(re1)+"");//abbbaabbbaaabbbb
 
alert(re2.test("abbbaabbbaaabbbb1234")+"");//true
alert(re2.exec("abbbaabbbaaabbbb1234")+"");//abbb
alert("abbbaabbbaaabbbb1234".match(re2)+"");//abbb,aabbb,aaabbb
(例子就直接用了)

.*为贪婪模式,整个将字符串吃下,然后从最后一位来匹配,直到匹配成功,输出。

.*?为懒惰模式,一个个吃,直到匹配成功,再继续匹配,所以有多个字符串

2.

/[\u4e00-\u9fa5]/用于匹配单个汉字。

3.

alert(A.test())检查匹配

alert(A.exec())检查一次,输出第一个成功的字符串(懒惰匹配),若是贪婪匹配,一次不成功就输出NULL了

alert(B.march(A))输出所有匹配项

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值