繁体   English   中英

简单的正则表达式不是

[英]Simple regex not

我正在寻找一种仅在一个preg_replace编写以下内容的方法

$url = "stackoverflow";
  if(!preg_match('/apple/',$url)){
    $url = $url.".apple.com";
  }
$str = 'something';
echo preg_replace('/^(?:(?!apple).)*$/is', '$0.apple.com', $str);

PS:修饰符is可能是有用的。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM