猿问

第二个正则表达式为何false

qq_杀意隆_0
浏览 1573回答 7
7回答

charsandrew

当然是false呀。讲实话在js的正则里面 \1, \2这样的还是很少用的,他们含义是:\number 表示后向引用,是指在正则表达式中,从左往右数,第1个()中的内容,以此类推,\2表示第2个(),\0表示整个表达式。/(a)\1/等价与 /(a)(a)/ /(a)\2/ 中\2表示引用第二个()中的内容,这里没有第二个()。所以: 我觉得可能解释器认为正则表达式本身是错的,无论/(a)\2/.test('a') 还是 'aa'还是'aaa', 都是错的。

林逸舟丶

如果是想匹配次数的话,应该用{}包裹,例如:/(a){2}/至于为什么第一个能测试为TRUE,我也不太清楚了。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答