我有以下代码:
<?php
$subject="something";
$pattern="something";
If(preg_match($pattern,$subject)){
echo "Match is found";
}else{
echo "Match is not found";
}
?>
如果我有
$subject="apple is fruit and I love apple";
主要观点是以apple
开头并以apple
然后该模式应该是什么
match is found
是输出。
我知道模式可以是
"/^apple.*apple$/"
但我不想重复苹果这个词。
答案 0 :(得分:0)
你只需要一个backreference。尝试:
/^(\w+).*(\1)$/
(\w+)
捕获第一个单词,无论它是什么,而不必指定&#34; apple&#34;就像这个词。反向引用\1
告诉正则表达式解析器替换第一个捕获组中捕获的内容。使用backtracking的魔力,正则表达式解析器将找出如何正确匹配输入符号以满足反向引用。