为了账号安全,请及时绑定邮箱和手机立即绑定

第二个正则表达式为何false

第二个正则表达式为何false

qq_杀意隆_0 2018-01-04 09:19:55
查看完整描述

7 回答

?
charsandrew

TA贡献9条经验 获得超4个赞

当然是false呀。

讲实话在js的正则里面 \1, \2这样的还是很少用的,他们含义是:

\number 表示后向引用,是指在正则表达式中,从左往右数,第1个()中的内容,以此类推,\2表示第2个(),\0表示整个表达式。

/(a)\1/等价与 /(a)(a)/
/(a)\2/ 中\2表示引用第二个()中的内容,这里没有第二个()。所以:
我觉得可能解释器认为正则表达式本身是错的,无论/(a)\2/.test('a') 还是 'aa'还是'aaa', 都是错的。


查看完整回答
1 反对 回复 2018-01-04
?
林逸舟丶

TA贡献124条经验 获得超28个赞

如果是想匹配次数的话,应该用{}包裹,例如:/(a){2}/

至于为什么第一个能测试为TRUE,我也不太清楚了。

//img1.sycdn.imooc.com//5a4d8dca0001380c03000111.jpg

查看完整回答
反对 回复 2018-01-04
  • 7 回答
  • 0 关注
  • 1536 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信