我正在尝试这个,用unicode字符获取单词边界中的单词:
if(preg_match("/(?<!\p{L})jaunā(?!\p{L}) Iel.*/iu", "Jaunā. Iela") > 0){
echo "<h1>Match!</h1>";
}
else{
echo "<h1>dont match</h1>";
}
为什么我会“不匹配”?
我想在所有变体中找到单词“jaunā”,例如:
文字,jaunā文字
文字jaunā,文字
文字,jaunā!文字
jaunā文本
jaunā,文字
等
感谢。
答案 0 :(得分:0)
您可以尝试使用以下正则表达式:
/(?<!\p{L})jaunā(?!\p{L}).*? Iel.*/iu
在jaunā
之后您还有.
个字符,因此.*?
您可以匹配jaunā
和Iela
之间的任何其他字符
答案 1 :(得分:0)
你的正则表达式与dot
之后的jaunā
不匹配:
试试这个:
if(preg_match("/(?<!\p{L})jaunā(?!\p{L})\. Iel.*/iu", "Jaunā. Iela") > 0) {
echo "<h1>Match!</h1>";
}
else{
echo "<h1>dont match</h1>";
}