【发布时间】:2015-09-23 01:15:22
【问题描述】:
我正在尝试匹配 html 文档中以特定字符串开头和结尾的字符串,并且中间没有另一个特定字符串。更具体地说,它们以
开头$start = "<br/>\s*[0-9]{1,4}(\.|\:|\))+";
以
结尾$end = "\?";
并且应该包含所有内容,但中间的断线。
目前我的中间正则表达式如下所示:
$middle = "[^(<br/>)]+";
最终代码将如下所示:
$start = "<br/>\s*[0-9]{1,4}(\.|\:|\))+";
$middle = //What do I put here?
$end = "\?";
$regex = "#".$start.$middle.$end."#";
preg_match_all($regex, $text, $hits);
我应该如何创建我的中间正则表达式以仅匹配不包含断线的文本?
【问题讨论】:
-
至少双转义反斜杠。
$middle不应该有锚点——因为它在中间。而如果是HTML解析,使用DOMDocument。请发布您正在使用的 HTML 示例,并告诉我们您想用它做什么。