简单的正则表达式没有

时间:2012-01-30 22:16:11

标签: php regex

我正在寻找一种只在一个preg_replace

中编写以下内容的方法
$url = "stackoverflow";
  if(!preg_match('/apple/',$url)){
    $url = $url.".apple.com";
  }

1 个答案:

答案 0 :(得分:3)

$str = 'something';
echo preg_replace('/^(?:(?!apple).)*$/is', '$0.apple.com', $str);

ps:修饰符is可能有用。

(?: )*制作非捕捉模式。它匹配(?!apple)的零个或多个实例。除apple$0之外的任何内容都指示在匹配模式时获取整个字符串。上面建议的示例不一样,因为当字符串不以apple开头时它将匹配任何内容,因为?!apple条件仅在字符串的开头应用一次。