推 MichaelHsin:如果不是非得在 regex 裡寫出來,就用上層程式做吧 10/19 15:53
推 MichaelHsin:grep -v, perl !~, etc. 10/19 15:53
推 chmate:negative lookahead assertion 但不是每種實作都有 10/19 22:45
推 buganini:^[^G][^M][^0-9]+ 這樣? 10/20 01:41
推 MichaelHsin:二樓++ 10/20 03:22
推 MichaelHsin: /^(?!GM\d+)/ # perl 這樣就可以了 10/20 03:22
> -------------------------------------------------------------------------- <
作者: DarkKiller (System hacked) 看板: RegExp
標題: Re: [問題] 請教各位一個正規運算式的寫法~
時間: Sun Oct 21 10:10:00 2007
※ 引述《noroi (noroi)》之銘言:
: 就是檢查輸入的字串, 不能出現符合 GM 開頭 然後後面接數字 例如 GM1 or GM005 之類
: 的, 請問這個要怎麼寫呢?
: 如果用一般字串函數去檢查可以很容易做到, 但是我想要用正規運算式去做, 但是正規運
: 算式一直找不到竅門, 寫不太出來...
: 請各位大大指導一下~
: ps:沒有符合才為true 有符合為false 就是以下這個的相反 (^GM\d+){1}
RE 的補集還是 RE,所以一定存在一個表示法符合你說的條件。
^([^G]|G[^M]|GM[^0-9])*$
這是你要的表示式。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.54.119