php - 查找字符串中反斜杠的出现

标签 php regex preg-match

如果我的字符串是:aud\ios,我该如何检查其中是否存在 \

我尝试使用 preg_match('\\' , $string) 但它不起作用。实现这一目标的正确方法是什么?

最佳答案

对于像这样简单的事情,您不需要正则表达式。字符串函数,如 strpos()应该足够了:

if (strpos('aud\ios', '\\') !== FALSE) {
    // String contains '\'
}

请注意,您需要在此处转义反斜杠。如果您只是简单地编写 \,那么 PHP 会将其视为转义序列并尝试转义后面的字符。为避免这种情况,您需要使用另一个反斜杠对转义符进行转义:\\

至于使用 preg_* 函数匹配文字反斜杠,您需要使用 \\\\ 而不是单个 \.

来自PHP manual documentation on Escape Sequences :

Single and double quoted PHP strings have special meaning of backslash. Thus if \ has to be matched with a regular expression \\, then "\\\\" or '\\\\' must be used in PHP code.

所以你的代码应该是这样的:

preg_match('/\\\\/', $string); // Don't use this though

哪里:

  • / - 起始分隔符
  • \\\\ - 匹配单个文字 \
  • / - 结束分隔符

有关此的更多信息,请参阅:

关于php - 查找字符串中反斜杠的出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22691720/

相关文章:

php - 使用 PHP 解析 "advanced"INI 文件

php - 如何在 PHP 中将双字节 utf-8 字符转换为 utf-16

ruby - 使用/.*有什么好处?/

javascript - 用于在 jquery.tablesorter.js 数字字段中拨号的正则表达式

PHP-preg_match()

php - 多个正则表达式模式需要开始 ^ 和结束 $

php - 执行 map 减少使用通过PHP的Hadoop流

php - jQuery Ajax : Can i store more than one "variable" on success?

javascript - 如何使用 javascript 正则表达式替换 json 键值(当 json 无效时)?

php - 正则表达式 - 否定字符串 + OR