【发布时间】:2014-04-09 13:12:08
【问题描述】:
我正在尝试用短语中的一些特殊字符替换空格。但我只在条件下匹配空间。请查看以下示例以进行理解!
我不想将空格与尾随和前导的特殊字符串相匹配,例如
与、或、非、-
我的示例字符串
apple google AND bing NOT yahoo
在上面的例子中,我只想匹配 apple google 之间的空格。所以写下面的代码。
$q = 'apple google AND bing NOT yahoo';
$pattern1 = '/(?<!AND|NOT|OR)[ ](?!-|AND|NOT|OR)/';
$replacement1 = ' ## ';
echo $qs = preg_replace($pattern1, $replacement1, $q,-1);
这是输出
apple ## google AND bing NOT yahoo
我的问题现在,带引号的字符串。我想忽略引号之间的空格。
"apple google" AND bing NOT yahoo => 应该是 0 匹配
那么如何编写表达式来做到这一点?
【问题讨论】:
-
"apple google" linux应该返回什么? -
@Robin:应该是
"apple google" ## linux