我想从字符串Passed, <strong class="has_warnings">2 warning(s)</strong>
获取。我是正则表达式的菜鸟请帮助。
$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);
可以在此处找到实时非格式正则表达式。
答案 0 :(得分:2)
答案 1 :(得分:1)
你的正则表达式必须是这样的:
/<td colspan="2" class="valid">([\s\S]*)<\/td>/
您的原始正则表达式有一些错误:
.
与制表符,换行符不匹配,但您的字符串包含它们。?
是不必要的。如果您希望td
中的内容是可选的,*
已经意味着0或更多此RegEx可能更有效:
/<td colspan="2" class="valid">(((?!<\/td>)[\s\S])+)<\/td>/
答案 2 :(得分:1)