Php 找人';使用regex lookahead的s名称
我正在尝试使用preg_match来获取某人的姓名,但如果他们说“我的名字不是某某…”之类的话,我不希望它获取他们的姓名,但我在匹配它时遇到困难:Php 找人';使用regex lookahead的s名称,php,regex,preg-match,Php,Regex,Preg Match,我正在尝试使用preg_match来获取某人的姓名,但如果他们说“我的名字不是某某…”之类的话,我不希望它获取他们的姓名,但我在匹配它时遇到困难: $string = "my name is james"; preg_match("~my name is (?>!\bnot\b)[a-z]+~", $string, $match); print_r($match); 因为我的原始字符串中没有单词“not”,所以它应该与字符串匹配,但它没有匹配。我做错了什么 结果: 数组() 预期结果:
$string = "my name is james";
preg_match("~my name is (?>!\bnot\b)[a-z]+~", $string, $match);
print_r($match);
因为我的原始字符串中没有单词“not”,所以它应该与字符串匹配,但它没有匹配。我做错了什么
结果:
数组()
预期结果:
数组(我叫詹姆斯)不使用
?(look-behind使用不使用
,?(look-behind使用正确。(?>!\bnot\b)
是一个与序列匹配的变量!not
。正确。(?>!\bnot\b)
是一个与序列匹配的变量!not
。
/(?!\bnot\b)[a-z]+/