javascript的正则反向引用

反向引用在哪里会用到呢,比如我们要匹配一段重复的,带有”某某好”的话,比如:你好,23423@#@#¥@3rwfe,你好 。 

你可能会想到 /.好,.*,.好/ 。但是这种匹配有可能出现 前面是“你好”,后面是“大家好”的情况。这不是我们想要的结果。我们想要结果是,假如前面出现的是“你好”,后面必须也要是“你好”。

于是反向引用就派上用场了:

/(.好),.*,\1/.test("你好,沙发上的发生地方,你好。")  \\true

/(.好),.*,\1/.test("你好,沙发上的发生地方,大家好。") \\false

\1 \2 \3 ...代表第一组,第二组,第三组括号匹配的文本,括号按照开括号“(”从左至右的出现顺序进行。

是不是很强大呢~~

posted @ 2013-07-26 13:53  静水渊  阅读(565)  评论(0编辑  收藏  举报