Regexp var,有可能吗?

时间:2013-06-04 17:40:17

标签: javascript regex

我学习regexp并且我想问,我能在同一个正则表达式中保存价值吗? 我试图将html拆分为标签。

像:

/<[a-zA-Z]*>.*<\/[a-zA-Z]*>/gi
  --------       --------
   val a          val b

我需要一个== b,那么有什么方法可以保存“val a”而使用名为“val b”的regexp?

2 个答案:

答案 0 :(得分:2)

首先,强制性警告you cannot parse HTML with regex

话虽这么说,您可以使用捕获组并使用\#在正则表达式中引用它,其中#是捕获组的编号(从1开始)。例如:

/<([a-zA-Z]*)>.*<\/\1>/gi

然而,再次,您不应该使用此正则表达式,因为它已被破坏。有更好的方法来处理HTML,尤其是在Javascript中。

答案 1 :(得分:1)

使用\1\2,...它将引用匹配的群组

/(\d)x(\1)/.test("1x1") // true
/(\d)x(\1)/.test("1x2") // false