[請益] 正規表示法的 ~

看板PHP作者 (..)時間13年前 (2012/07/09 10:59), 編輯推噓3(306)
留言9則, 4人參與, 最新討論串1/1
我在某個地方看到下面這段程式碼: <?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

07/09 11:08, , 1F
php.net/manual/en/regexp.reference.delimiters.php
07/09 11:08, 1F

07/09 11:15, , 2F
regex的開始結束符號,一般用 / ,他搞神秘改成 ~ 而已
07/09 11:15, 2F

07/09 11:16, , 3F
你也可以改用 # 看看
07/09 11:16, 3F
原來開始結束的符號可以隨便用耶。 一樓提供的網址說明: A delimiter can be any non-alphanumeric, non-backslash, non-whitespace character. /http:\/\// #http://# ~http://~ 那這樣可讀性還比較大! ※ 編輯: lamoni 來自: 114.44.189.88 (07/09 11:32)

07/09 13:20, , 4F
的確可以隨便用...看你高興就好
07/09 13:20, 4F

07/09 13:24, , 5F
這種\/\/有時候真是令人痛不欲生 :P
07/09 13:24, 5F

07/09 13:25, , 6F
Java更慘,\還要再escape一次,所以是\\/\\/ ...
07/09 13:25, 6F

07/09 14:06, , 7F
寫個程式還要一直揮手的,好累 XD
07/09 14:06, 7F

07/16 14:49, , 8F
揮手就對 :D
07/16 14:49, 8F

08/10 17:03, , 9F
用regexbuddy測完複製貼上就好了,不用揮了><
08/10 17:03, 9F
文章代碼(AID): #1F-aacTk (PHP)
文章代碼(AID): #1F-aacTk (PHP)