我想找到一个确切的单词已经是一个字符串。但如果它的字符串结束,字边界失败。我认为,因为特殊的土耳其字符,但第二代码工作预期。我的错在哪里?
此代码返回0
$row = "TEDARİKÇİ,MÜŞTERİ";
var_dump( preg_match('#\bMÜŞTERİ\b#iu', $row));
但是这个返回1
$row = "TEDARİKÇİ,MÜŞTERİ";
var_dump( preg_match('#\bMÜŞTERİ$#iu', $row));
答案 0 :(得分:1)
我虽然两个正则表达式都可以正常工作,但我在regex101中遇到了同样的问题。因此,为了解决这个问题,您可以将正则表达式更改为:
$row = "TEDARİKÇİ,MÜŞTERİ";
var_dump( preg_match('#\bMÜŞTERİ(\b|$)#iu', $row));
<强> Working demo 强>