推 LyinZ:^.*(?<!\.php)$ 03/19 03:19
推 bcse:可以講解一下 ?<! 是什麼意思嗎? 03/19 06:19
推 LyinZ:perldoc說是 zero-width negative look-behind assertion @@ 03/19 13:45
> -------------------------------------------------------------------------- <
作者: LPH66 (IWH68S0XZ8M89) 看板: RegExp
標題: Re: [問題] 若想排除 .php 結尾的字串要如何下?
時間: Wed Mar 19 07:32:04 2008
※ 引述《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)$
--
◢ ˊ_▂▃▄▂_ˋ. ◣ ▅▅ ▅▅ ι●╮ █▄▄▄▄▄
▍./◤_▂▃▄▂_◥ \'▊ HARUHI █████ <■┘ ▄▄▄▄▄▄▄
▎⊿ ◤◤◥█◥◥█Δ ISM By-gamejye ¢|\ ▌▌▌▌▌▄▌▌
▏ζ(▏●‵◥′●▊)Ψ ▏ █ ⊿Δ ▄▄▄ ▄▄▄▄
█/|▊ 〃 、 〃▋ |\ ▎ ハルヒ主義 █▄▄▄█▄▄
◥◥|◣ ‵′ ◢/'◢◢S.O.S 世界を大いに盛り上げるための涼宮ハルヒの団
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.250.80
→ giacch:推觀念... (小聲的說...) 樓下那篇也推啦... XD 03/19 22:24
> -------------------------------------------------------------------------- <
作者: LyinZ (琳子) 看板: RegExp
標題: Re: [問題] 若想排除 .php 結尾的字串要如何下?
時間: Wed Mar 19 14:54:23 2008
※ 引述《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
推 giacch:推觀念... 03/19 22:23