我一直在使用regexr.com来构建和测试要在php程序中使用的正则表达式。然而,有了这个特殊的表达,它似乎在网站上有效,但在程序中无效,我不确定为什么
我正在尝试匹配以下字符串中的欧盟标签数据(例如:G C 71):
"Viking SnowTech II 165/70 R13 79T Winterreifen Auf Lager G C 71 dBKundenbewertung (2.00) 29,50 € Details In den Einkaufswagen"
正则表达式"#''s''w''s''w''s''d{1,}#"在regexr.com上运行良好,但在我的程序中找不到匹配项
$eulab = $row_html -> plaintext;
if( preg_match('#'s'w's'w's'd{1,}#', $eulab)){
$insert['eulab'] = $matches[0];
}else {
echo "No Match";
}
我也尝试过其他表达式,如''s{1}[A-Z]{1}''s{1}[A-Z]{1}''s{2}''d{3,}''s{4 1},它们也适用于regexr,但在我的程序中找不到匹配项。这可能是编码问题吗?还是只是我的php语法?没有引发任何错误。
我的问题是浏览器只显示一个空白,而实际上只有一个空白。我修改了表达方式来纠正这一点,它起到了作用。
以上@chris85解决的问题
我最后的代码和表达式是:
$eulab = $row_html -> plaintext;
if( preg_match('#'s'w's+'w's+'d+#', $eulab, $matches)){
$insert['eulab'] = str_replace(" ", "", $matches[0]);
}