【发布时间】:2016-03-30 03:04:57
【问题描述】:
我正在学习使用正则表达式并想从表格中获取一些数据:
文件如下所示:
$subject =
<tbody>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
<tr>
<td>4</td>
<td>5</td>
<td>6</td>
</tr>
</tbody>
目前我正在做以下事情:
$pattern = "/<tr>.*?<td><\/td>.*?<td>(.*?)<\/td>.../s";
preg_match( $模式, $主题, $结果);
这将输出一个数组:
$result = [
0 => "tbody>...",
1 => 1,
2 => 2,
3 => 3,
4 => 4 ... n
]
这似乎效率低下,所以我试图抓住这样的重复模式:
$pattern = "/<td>([0-9]{1,2})<\/td>/s";
不过,这只会抓取第一个数字:1
最好的方法是什么?
【问题讨论】:
-
你的意思是你想要
g标志?... -
我不确定,这是我第一次使用正则表达式。
-
s修饰符也不会影响您当前的正则表达式,因为您没有.。