Re: [問題] 若想排除 .php 結尾的字串要如何下?

看板RegExp (正規表示式 Regular Expression)作者 (琳子)時間17年前 (2008/03/19 14:54), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串3/3 (看更多)
※ 引述《LPH66 (IWH68S0XZ8M89)》之銘言: : ※ 引述《laudieh (laudieh)》之銘言: : : 大大好: 小弟想要一個字串,但是它要排除 .php 做結尾的字串才行 : : ex: xyz123 abc.tw abc.xyz 這些都可過關 : : 但要阻擋 test.php 的字串,不知要如何下? : : ^(.*[^.][^p][^h][^p])$ 可是這樣會讓 xxxxp 的字串過不了哩! : 除了推文的方法外(其實我也看不太懂<!) : 也可以這樣反向思考: : 要收的有 : (1) 不以p結尾: ^.*[^p]$ : (2) p結尾但前一字不是h: ^.*[^h]p$ : (3) hp結尾但前一字不是p: ^.*[^p]hp$ : (4) php結尾但前一字不是.: ^.*[^.]php$ : 合起來就成了 : ^.*([^p]|[^h]p|[^p]hp|[^.]php)$ 如果是在寫程式, 不必侷限於「正面表列」的 regex 的話, 直接 NOT \.php$ 不就好了嗎 ^^| 像 perl 的話就是 $str !~ /\.php$/ php 的話應該是 !preg_...(...) 之類的吧? ^^ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.30.55

03/19 22:23, , 1F
推觀念...
03/19 22:23, 1F
文章代碼(AID): #17uBYWQ0 (RegExp)
文章代碼(AID): #17uBYWQ0 (RegExp)