精華區beta RegExp 關於我們 聯絡資訊
其實這個問題是因為我在研究phpbb3的code, 看到template_compile這個class裡, 有使用像這個樣子的語法: preg_match_all('#<!-- INCLUDE ([a-zA-Z0-9\_\-\+\./]+) -->#', $code, $matches); 雖說據我所知,#沒有特殊意義, 可是我在template裡卻找不到什麼#。 -- ★ 辰星! 歡迎加入五行戰鬥牌的奇幻世界! 太白! 歲星! 官方網站:(內有討論區) 鎮星!熒惑! http://cfe.myweb.hinet.net/ 「當蒼茫天穹中 那並非最閃亮 PTT台大社版:NTU-CFE 但卻最純淨的五顆星 連成一線時, 天與地的共鳴 將永不止歇,其力量可至無限。」 ψrexkimta -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.139.84.247
LPH66:那是perl-compatible的語法 需要有前後分隔字元 01/23 17:52
LPH66:一般是用/ 不過這樣一來pattern中有/時就要用\/ 01/23 17:52
LPH66:所以可以自行換掉 只要前後分隔字元相同即可 01/23 17:52
LPH66:那這個regexp中就是用#來當分隔字元 01/23 17:53
rexkimta:了解,多謝。 01/23 17:59
rexkimta:那底線和加號呢?加號我記得在[]裡沒有特殊意義吧? 01/23 18:00
LPH66:對 不過有些人在寫為了統一 不管哪裡的+啦*啦都給\掉 01/24 14:38
LPH66:這樣可以不用去記到底誰在[]裡沒有意義 01/24 14:39
LPH66:反正因為\的關係一定能正確表示他要的字元 01/24 14:39
rexkimta:了解了,多謝。 01/24 21:09