8

可能重复:
正则表达式中的波浪号运算符

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

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

我在正则表达式中搜索了“~”,但没有找到答案。

它有什么作用?

4

2 回答 2

12

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

不知道为什么~选择了;可能是该特定开发人员的习惯。/通常,当正则表达式本身包含斜杠(例如匹配的 URL)时,会选择不同的分隔符,这样就不需要每次都转义斜杠。

于 2013-01-28T17:00:41.020 回答
2

该符号~仅用作 PHP 正则表达式中的分隔符。

于 2013-01-28T17:02:55.297 回答