[問題] 請教各位一個正規運算式的寫法~

看板RegExp (正規表示式 Regular Expression)作者 (noroi)時間17年前 (2007/10/19 13:48), 編輯推噓6(600)
留言6則, 3人參與, 最新討論串1/2 (看更多)
就是檢查輸入的字串, 不能出現符合 GM 開頭 然後後面接數字 例如 GM1 or GM005 之類 的, 請問這個要怎麼寫呢? 如果用一般字串函數去檢查可以很容易做到, 但是我想要用正規運算式去做, 但是正規運 算式一直找不到竅門, 寫不太出來... 請各位大大指導一下~ ps:沒有符合才為true 有符合為false 就是以下這個的相反 (^GM\d+){1} -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.130.112.242

10/19 15:53, , 1F
如果不是非得在 regex 裡寫出來,就用上層程式做吧
10/19 15:53, 1F

10/19 15:53, , 2F
grep -v, perl !~, etc.
10/19 15:53, 2F

10/19 22:45, , 3F
negative lookahead assertion 但不是每種實作都有
10/19 22:45, 3F

10/20 01:41, , 4F
^[^G][^M][^0-9]+ 這樣?
10/20 01:41, 4F

10/20 03:22, , 5F
二樓++
10/20 03:22, 5F

10/20 03:22, , 6F
/^(?!GM\d+)/ # perl 這樣就可以了
10/20 03:22, 6F
文章代碼(AID): #1764KHPw (RegExp)
文章代碼(AID): #1764KHPw (RegExp)