Regex:使用替代方案
假设我想从HTML中获取所有的href值。 我可以在内容上运行这样的正则表达式:Regex:使用替代方案,regex,Regex,假设我想从HTML中获取所有的href值。 我可以在内容上运行这样的正则表达式: a[\s]+href[\s]*=("|')(.)+("|') 哪个匹配 a href="something" 或 这是可以的;但是|“我捕获了太多的团体,这是我不想要的 如何在不捕获组的情况下在regex中使用替代方案 这个问题也可以这样表述:我如何界定匹配的备选方案?开始和停止。我用括号,因为这是所有的工作 我知道给定的正则表达式不是完美的,也不是很好,我只是想用两个值来交替计算,因为我不太清楚 感谢您提供
a[\s]+href[\s]*=("|')(.)+("|')
哪个匹配
a href="something"
或
这是可以的;但是|“我捕获了太多的团体,这是我不想要的
如何在不捕获组的情况下在regex中使用替代方案
这个问题也可以这样表述:我如何界定匹配的备选方案?开始和停止。我用括号,因为这是所有的工作
我知道给定的正则表达式不是完美的,也不是很好,我只是想用两个值来交替计算,因为我不太清楚
感谢您提供的任何提示使用非捕获组,如:?:|',关键部分是开头的?:。它们作为一个组,但不会导致单独的匹配。注意,这也会捕获href=bla'使用反向引用来避免它。谢谢,我知道,在这种情况下也不介意。如果您想提取html项,您应该尝试使用html解析器,如DOM或SAX;DOM是最简单的。使用它,您将能够表达诸如标签中的所有href元素之类的查询。这正是我想要的!从现在起,我可以搜索非捕获组,一切都会好的-谢谢!
a href = 'something' // quotes, spaces ...