作者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