Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使正则表达式更具体-仅选择;VB";,非变体(“VB%”)_Php_Regex - Fatal编程技术网

Php 使正则表达式更具体-仅选择;VB";,非变体(“VB%”)

Php 使正则表达式更具体-仅选择;VB";,非变体(“VB%”),php,regex,Php,Regex,考虑以下字符串和正则表达式: $string= "just/RB convinced/VBN closing/VBG 10dma/NN need/VBN see/VB"; echo preg_replace("/(\w+)\/(JJ|RB|VB)/", "not$1/$2", $tweet); 我想将“not”连接到以/JJ、/RB或/VB结尾的每个单词。但是,正则表达式还捕获/VB:/VBN和/VBG上的变体。输出是 notjust/RB notconvinced/VBN notclosin

考虑以下字符串和正则表达式:

$string= "just/RB convinced/VBN closing/VBG 10dma/NN need/VBN see/VB";
echo preg_replace("/(\w+)\/(JJ|RB|VB)/", "not$1/$2", $tweet);
我想将“not”连接到以/JJ、/RB或/VB结尾的每个单词。但是,正则表达式还捕获/VB:/VBN和/VBG上的变体。输出是

notjust/RB notconvinced/VBN notclosing/VBG 10dma/NN notneed/VBN notsee/VB
然而,预期产出是:

notjust/RB convinced/VBN closing/VBG 10dma/NN need/VBN notsee/VB
如何阻止正则表达式捕获这些变体?

使用
\b

\b
仅在字母数字字符与非字母数字字符或字符串的开头/结尾之间匹配。

使用
\b

\b
仅在字母数字字符和非字母数字字符或字符串的开始/结束之间匹配

$string= "just/RB convinced/VBN closing/VBG 10dma/NN need/VBN see/VB";
echo preg_replace("/(\w+)\/(JJ|RB|VB)\b/", "not$1/$2", $tweet);