我正在从一个很长的 HTML 表格中解析信息;现在我使用的代码使用 DOMDocument、DOMElement (etc) 类进行解析。我想做一个性能测试,运行当前方法,反对正则表达式从表中提取信息,但我无法得到正确的表达式。
表格的 HTML 行如下所示:
<tr><td> JON SMITH </td><td> 2000-09-29 </td></tr>
我一直在尝试的表达式看起来像这样:
/(?:<td>([a-zA-Z\s]*?)<\/td><td>([0-9-\s]*?)<\/td>)/
上述表达式的问题在于它返回整个行内容,而不仅仅是内列内容。理想情况下,preg_match_all 数组结果将是名称、日期、名称、日期等。
这是一个合理的做法,还是我应该坚持使用 DOM 技术?如果它是合理的,有人可以帮助正则表达式吗?
谢谢!
编辑:如果将来有人偶然发现这一点,RegEx 解决方案的性能要比使用 DOM 类好得多;在我的情况下,这是秒和分钟之间的差异。