PHP正则表达式——匹配多行

<table>
<tr><td>aaaa</td></tr>
<tr><td>bbbb</td></tr>
<tr><td>cccc</td></tr>
<tr><td>dddd</td></tr>
</table>

  像这种的文本,用PHP的正则表达式怎么匹配??

  我最初的想法:

  pattern:“/<tr>[.\n]*?<\/tr>”  (这个是错误的)

  想法思路:"."能匹配任意非换行字符,使用"[.\n]"组合,使其能够匹配所有的字符(包括换行符),但天有不测风云啊——悲剧了,结果什么都没有!

  经过一番啃骨之后写了另一个

  pattern:“/<tr>(.|\n)*?<\/tr>”  (这个是可以)

  将“[]”换成"()",使用“|”做一个或选择,这样就行了(纳闷了,怎么"[]"也是选择方式的就不行???

  网上也有一答案:

  PATTEN: “/<tr>.*?<\/tr>/is”  (很简洁很方便,赞成此方法)

  后记: 怎么"[]"也是选择方式的就不行???你知道的话别忘了告诉小弟一声哦……

你可能感兴趣的:(正则表达式)