有没有办法从使用量词的正规表达式中获取多个捕获组?例如,假设我有这样的数据(从我有简化处理):使用量词的多个正则表达式捕获组
<td>Data 1</td>
<td>data 2</td>
<td>data 3</td>
<td>data 4</td>
现在,如果我写这样的正则表达式:
(?:<td>(.+?)<\/td>\s*){4}
我最终只有一个捕获组,最后一个“数据4”。有没有办法使用的量词,最终以4个捕捉组,还是我不得不写这样的正则表达式来得到我想要的方式:
<td>(.+?)<\/td>\s*<td>(.+?)<\/td>\s*<td>(.+?)<\/td>\s*<td>(.+?)<\/td>
是的,我很清楚地知道,我可以破解这个简单的例子更容易编程,然后应用和必要的正则表达式或更简单的模式匹配。我正在使用的数据要复杂得多,我真的很想用正则表达式来处理所有的解析。
我猜你错过了最后一段。这是“正则表达式有可能”的问题,而不是“解析html的最佳方式是什么”。 – 2011-05-16 13:11:08
我已经删除了我的第一条评论,但我不同意这里的概念值得追求。正则表达式只适用于在非常简单的情况下解析HTML。这不是这样的。 – lonesomeday 2011-05-16 13:17:01
同样,这不是关于解析HTML,而是关于正则表达式是否可以使用量词捕获多个组的问题。这是一个简单的例子来说明这一点。 – 2011-05-16 13:21:00