如何将preg_match用于部分匹配?
当我有字符串时:
www.stackoverflow.com
当我进入
stackoverflow.com or stackoverflow
匹配它返回false的短语。如何使其适用于部分匹配?
答案 0 :(得分:5)
preg_match
使用regular expressions,您可以获得here的非常好的教程。
在您的特定情况下,您正在寻找一个字符串,然后是一个可选的段(要将搜索更改为英语,您要查找“stackoverflow”,可选地后跟“.com”)。可以使用?
修饰符
preg_match('/stackoverflow(\.com)?/', $your_string)
这里的正则表达式(/stackoverflow(\.com)?/
)与上面的英文版本说的相同 - 匹配“stackoverflow”后跟可选的“.com”。
以下是正则表达式如何运作的快速概述:
答案 1 :(得分:1)
preg_match
默认情况下不会锚定,因此无需任何特殊操作即可找到部分匹配。你有正确的顺序吗?首先是正则表达式,然后是要搜索的字符串。所以:
if (preg_match('/stackoverflow/', 'www.stackoverflow.com')) {
...
}