→ taro3750:忘了說 我是用javascript 02/21 17:19
> -------------------------------------------------------------------------- <
作者: DarkKiller (System hacked) 看板: RegExp
標題: Re: [問題] 想請問有辦法做到這樣嗎?
時間: Thu Feb 21 20:36:10 2008
※ 引述《taro3750 (taro)》之銘言:
: 如果我想建立0rz.tw的連結
: 能否偵測5個英數字元(含大小寫)
: 排除全部只有數字或全部只有英文的狀況
: 並且確保該5個英數字元必定包含英文與數字
: 請問這樣能否用正規式表達?
: 新手發問 請多包涵^^"
Perl compatible:
^http://0rz\.tw/[0-9a-z]{5}$
POSIX compatible:
^http://0rz\.tw/[0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z]{5}$
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.54.119
推 taro3750:似乎不太對@@" 這樣既不能包含大小寫 也不能排除全都是數 02/22 05:52
→ taro3750:字或英文 02/22 05:53
→ giacch:/.*[A-Za-z][0-9].*|.*[0-9][A-Za-z].*/ 未限制長度... 02/22 10:18
推 janyfor:先比有5數字英文 在排除全部數字跟全部英文 02/22 22:04
推 bandwidth:先用產生1~4的亂數i,這個長度i配給數字,(5-i)長度給英文 02/23 17:38
推 badwork:產生前四碼用隨機,檢查這四碼都是英文或數字的時候 02/23 20:48
→ badwork:第五碼再加上跟前四碼不同的 英或數 這樣如何 02/23 20:49
推 LPH66:其實0rz的連結可能會有全數字的喔XD 02/24 08:47
→ LPH66:不過看你的需求是要抓出那五個字來的意思吧? 02/24 08:48
→ LPH66:[^0-9A-Za-z]([0-9A-Za-z]{5})[^0-9A-Za-z] 再取\1就有了 02/24 08:48
→ LPH66:原理是利用前後兩個[^...]來去掉更長的字串 02/24 08:49
→ LPH66:不過這樣沒有排除全英文的...要再想想 @@ 02/24 08:50
→ LPH66:應該中間改([0-9]{5}|[A-Za-z][0-9A-Za-z]{4}|...)排列組合 02/24 08:50
→ LPH66:就可以了吧@_@ 02/24 08:51
推 taro3750:是喔囧 沒看過全都數字的情況說 感謝樓上提供的意見 02/24 19:01
→ taro3750:先來試試看@@ 02/24 19:01