echo preg_replace_callback('~-([a-z])~', function ($match) {
return strtoupper($match[1]);
}, 'hello-world');
代码来自http://php.net/manual/en/functions.anonymous.php
我搜索了正则表达式中的“〜”并没有找到答案。
它做了什么?
答案 0 :(得分:11)
PHP(和其他实现)中正则表达式的第一个和最后一个字符称为分隔符。通常,您会看到正在使用/
,但在这种情况下,有人选择~
。 Read more here.
不确定为什么选择了~
;可能是那个特定开发者的习惯。通常,当正则表达式本身包含斜杠(例如匹配的URL)时,会选择不同于/
的分隔符,因此不需要每次都转义斜杠。
答案 1 :(得分:2)
符号~
仅用作PHP regexps中的分隔符。