可以将一个捕获组的一部分捕获到第二个捕获组中吗?

时间:2010-11-26 18:10:18

标签: regex

示例:

blah blah href='http://www.domain.com/keyid=432' blah blah blah blah

所以,如果我使用像

这样的正则表达式
href='(.*)' 

将url捕获到组1中但是是否也可以将keyid“432”捕获到第二组中?我确定有办法实现这一目标,但我仍然是一个正则表达式的菜鸟。

2 个答案:

答案 0 :(得分:3)

是的,您可以嵌套捕获组:

href='(.*/keyid=([0-9]+))' 

答案 1 :(得分:1)

是的,捕获组可以包含其他捕获组。

但是你在HTML上使用正则表达式时要非常小心,而不是任何人。 Here’s one pair of接近,here’s another

我发现很少有程序员会像这三种解决方案中最天真的一样小心谨慎,更不用说与其他两个人所参与的深刻魔法一样谨慎。