如果我的字符串是:
我尝试使用
aud\ios
,我该如何检查其中是否存在\
?我尝试使用
preg_match('\\' , $string)
,但它不起作用。正确的方法是什么?aud\ios
,我该如何检查其中是否存在\
?preg_match('\\' , $string)
,但它不起作用。正确的方法是什么?对于这样简单的内容,您不需要正则表达式。像strpos()
这样的字符串函数应该足够使用:
if (strpos('aud\ios', '\\') !== FALSE) {
// String contains '\'
}
\
,PHP会将其视为转义序列并尝试转义后面的字符。为了避免这种情况,你需要使用另一个反斜杠来转义它:\\
。preg_*
函数匹配一个字面上的反斜杠,你需要使用\\\\
而不是单个\
。\
与正则表达式匹配,则必须在 PHP 代码中使用"\\\\"
或'\\\\'
。preg_match('/\\\\/', $string); // Don't use this though
说明:
/
- 开始定界符\\\\
- 匹配一个字面上的反斜杠/
- 结束定界符如果需要更多关于此的信息,请参见:
if (strstr('aud\ios', '\\') !== false) {
//Contains "\"
}
我经常使用这个函数,你可以轻松地检查一个 string
是否包含
function StringContains($the_string,$contains)
{
return strpos($the_string, $contains) !== FALSE;
}
当然,在调用函数时你必须转义反斜杠,像这样:StringContains('aud\ios','\\');
return strpos($the_string, $contains) !== FALSE;
。 - Amal Murali
strpos()
- John Conde