正则表达式:使用替代品

时间:2014-07-16 09:56:37

标签: regex

让我们说我想得到所有的' href'来自HTML的值。 我可以在内容上运行这样的正则表达式:

a[\s]+href[\s]*=("|')(.)+("|')

匹配

a href="something" 

OR

a href = 'something' // quotes, spaces ... 

哪个好;但是(" |')我收集了太多的团体,这是我不想要的。

如何在不使用群组的情况下在正则表达式中使用替代方法?

这个问题也可以这样说:我如何界定匹配的替代方案? (开始和停止)。我使用了括号,因为这一切都有用......

(我知道给定的正则表达式并不完美或非常好,我只是试图用两个值交替计算这个值,因为我不太清楚)

感谢您提供任何提示

1 个答案:

答案 0 :(得分:2)

使用非捕获组,例如:(?:"|'),关键部分是开头的?:。他们作为一个团体行事,但不会导致单独的匹配。