正则表达式匹配几种字符串

时间:2014-03-23 20:08:49

标签: php regex

我想使用正则表达式匹配此字符串,但两个“Cost”字符串都是可选的:实际成本运费成本项

$product = "Product ABC - Actual Shipping Item";
if(preg_match("/(Actual Cost Shipping Item)|(Actual Shipping Item)/i", $product)){
   echo "Setting Actual Shipping=1<br>";
   $actual_shipping=1;
}else{
   echo "Setting Actual Shipping=0<br>";
   $actual_shipping=0;
}

感谢您的帮助,我的大脑完全被炒了!有没有更好的方法呢?

1 个答案:

答案 0 :(得分:0)

我可能会使用其中一种:

/Actual (Cost )?Shipping Item/i

或:

/Actual( Cost)? Shipping Item/i

<强>解释

在这种情况下,?表示“匹配零或其前一个事物”。

另见http://www.php.net/manual/en/regexp.reference.meta.php