如何使正则表达式模式的一部分可选?

时间:2011-02-09 20:19:08

标签: php regex preg-match preg-match-all

我使用这个正则表达式模式:

|img_class.*?<img src="(.*?)"(.*?)<\/td>|ms

但是我想这样做<img src="(.*?)"是可选的(不仅仅是src部分),因为img_class td有时是空的,当它是我的模式失败时。

我试过|img_class.*?(<img src="(.*?)")?(.*?)<\/td>|ms,但它永远不会匹配。

(我知道我可以使用xpath或更好的东西,但是我使用的是一个非常大的类,我现在不想重新编写所有内容。)

1 个答案:

答案 0 :(得分:1)

|img_class.*?(?:<img src="(.*?)")?(.*?)<\/td>|ms