正则表达式中的“〜”是什么?

时间:2013-01-28 16:58:44

标签: php regex

  

可能重复:
  Tilde operator in Regular expressions

echo preg_replace_callback('~-([a-z])~', function ($match) {
    return strtoupper($match[1]);
}, 'hello-world');

代码来自http://php.net/manual/en/functions.anonymous.php

我搜索了正则表达式中的“〜”并没有找到答案。

它做了什么?

2 个答案:

答案 0 :(得分:11)

PHP(和其他实现)中正则表达式的第一个和最后一个字符称为分隔符。通常,您会看到正在使用/,但在这种情况下,有人选择~Read more here.

不确定为什么选择了~;可能是那个特定开发者的习惯。通常,当正则表达式本身包含斜杠(例如匹配的URL)时,会选择不同于/的分隔符,因此不需要每次都转义斜杠。

答案 1 :(得分:2)

符号~仅用作PHP regexps中的分隔符。