在PHP中是否存在不需要使用正则表达式的等效preg_match
?preg_replace
对应str_replace()
。有适合preg_match
的东西吗?
*update *我只想用另一个字符串替换已知字符串。使用正则表达式似乎有点多余。
我有字符串"这是一个[test1],而不是一个[test2]",我想匹配他们与"[test1]"answers"[test2]"。
如果您的意思是在另一个字符串中查找字符串而不使用regex,您可以使用strpos
if (strpos('hello today', 'hello') !== false) {
// string found
}
因为我不确定你在寻找什么结果,我不能说这是否是你正在寻找的。
您可以使用strpos
来查看一个字符串是否出现在另一个字符串中
回答你的问题有一些PHP函数没有正则表达式
不要使用preg_match()想要检查一个字符串是否包含在另一个字符串中。使用Strpos()或strstr()代替它们会更快。
但它们根本不能完全取代preg_match
首先,str_replace()
不是preg_replace()
的替代品。函数str_replace()
用替换字符串替换所有出现的搜索字符串,preg_replace()替换由正则表达式选择的内容(这不是一回事)。
很多东西都需要regex(这很好),所以你不能简单地用一个PHP函数代替它。
大多数开发人员使用preg_match是因为他们想要使用匹配(函数将设置的第三个参数)。
我想不出一个函数会返回或设置与match相同的信息。
但是,如果您使用preg_match而不使用regex,那么您可能不太关心匹配。
如果您使用preg_match查看是否存在"匹配",那么我建议使用strpos代替,因为它在查看一个字符串是否在另一个字符串中找到时更有效。