浏览 2438 次
锁定老帖子 主题:聊聊JS中的RegExp的exec方法
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-12-02
var quickExpr =/(\d{4})([a-z]{4})(\d{4})([=]{4})/; alert(quickExpr.exec("1234abcd5678====")); 从结果我们可以分析出:exec是按照()来分组,并且按照分组的顺序查找到结果的。 这个表达式可分解为 0:(\d{4})([a-z]{4})(\d{4})([=]{4}) //切记第一个肯定是全表达式 1:(\d{4}) //第一个括号,从第一个截取出来的文本中匹配到文本的第一个就返回 2:([a-z]{4}) //第二个括号在截取的文本中去掉第一个,匹配到第一个返回 3:(\d{4})//依次类推 4:([=]{4}) 如果第一个表达式不满足,则返回null 如果只有一个小括号,则返回两个,且相同。 这点可以参照java中的 分组捕获 来研究。 上面只是个人一点看法,请大家多多指教 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2011-12-14
不是这样吧。 /^[0-9]+(.[0-9]{1,2})?$|^-[0-9]+(.[0-9]{1,2})?$/ 那我这是怎么回事 |
|
返回顶楼 | |
发表时间:2011-12-14
platformer 写道
不是这样吧。 /^[0-9]+(.[0-9]{1,2})?$|^-[0-9]+(.[0-9]{1,2})?$/ 那我这是怎么回事
|
|
返回顶楼 | |