【发布时间】:2013-07-10 00:58:43
【问题描述】:
我正在尝试匹配所有以"id="SomeDiv"> 开头并以"<!-- someComment" 结尾的多行字符串。我的正则表达式不起作用,因为"<!-- someComment" 多次出现,所以它匹配所有内容,直到最后一次出现"<!-- someComment"。我只想匹配第一次出现。
这与最后一次匹配
'/id="SomeDiv">.*\<\!-- someComment/sim'
我也尝试了前瞻和后视(如下面的),但我没有得到任何结果。
这不匹配任何内容
'/id="SomeDiv">.*(?!\<\!-- someComment)<!-- someComment/sim'
我该如何正确匹配?
示例字符串
//The string to search in
$str = '<div id="SomeDiv>Some stuff in here<!-- someComment --> More stuff<!-- someComment -->';
//What I **should** find:
$expectedResult = 'id="SomeDiv>Some stuff in here<!-- someComment';
【问题讨论】:
-
@DanielGimenez 这似乎有效!您可以将此作为答案发布,以便我将其标记为已回答吗?谢谢!