作者lamoni (..)
看板PHP
标题[请益] 正规表示法的 ~
时间Mon Jul 9 10:59:48 2012
我在某个地方看到下面这段程式码:
<?php
echo preg_replace_callback('~-([a-z])~', function ($match) {
return strtoupper($match[1]);
}, 'hello-world');
// outputs helloWorld
?>
请问 ~ 这个符号是什麽意思?我在很多正规表示法的文章都没看到。
是指任意字元吗?跟 . 有何不同?
我发现如果把 ~ 改成 .
也就是
'~-([a-z])~
改成
'.-([a-z]).
出来的结果一样。
有没有 ~ 的说明?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.44.189.88
1F:→ bibo9901:php.net/manual/en/regexp.reference.delimiters.php 07/09 11:08
2F:→ MOONRAKER:regex的开始结束符号,一般用 / ,他搞神秘改成 ~ 而已 07/09 11:15
3F:→ MOONRAKER:你也可以改用 # 看看 07/09 11:16
原来开始结束的符号可以随便用耶。
一楼提供的网址说明:
A delimiter can be any non-alphanumeric, non-backslash,
non-whitespace character.
/http:\/\//
#
http://#
~
http://~
那这样可读性还比较大!
※ 编辑: lamoni 来自: 114.44.189.88 (07/09 11:32)
4F:推 bibo9901:的确可以随便用...看你高兴就好 07/09 13:20
5F:→ MOONRAKER:这种\/\/有时候真是令人痛不欲生 :P 07/09 13:24
6F:→ MOONRAKER:Java更惨,\还要再escape一次,所以是\\/\\/ ... 07/09 13:25
7F:推 JYHuang:写个程式还要一直挥手的,好累 XD 07/09 14:06
8F:推 MOONRAKER:挥手就对 :D 07/16 14:49
9F:→ godspeedlee:用regexbuddy测完复制贴上就好了,不用挥了>< 08/10 17:03