我正在尝试从字符串Passed, <strong class="has_warnings">2 warning(s)</strong>中获取信息。我是regex的菜鸟,请帮帮忙。
$str_html = '
<td colspan="2" class="valid">
Passed, <strong class="has_warnings">2 warning(s)</strong>
</td> '
preg_match('#<td colspan="2" class="valid">(.*?)</td>#', $str_html, $data_html_errors);在这里可以找到未格式化的实时正则表达式。
发布于 2014-09-02 10:08:07
发布于 2014-09-02 09:50:15
你的判罚一定是这样的:
/<td colspan="2" class="valid">([\s\S]*)<\/td>/您的原始Regex有几个错误:
.不匹配制表器、换行器,但是字符串包含它们。?是不必要的。如果希望td中的内容是可选的,则*已经表示0或更多。这个RegEx可能更有效:
/<td colspan="2" class="valid">(((?!<\/td>)[\s\S])+)<\/td>/发布于 2014-09-02 09:52:37
https://stackoverflow.com/questions/25620399
复制相似问题