版本比對用正則表示式

寫這個應該不影響有關機密的事情吧?我想…只是雕蟲小技而已。

收到一個小改的需求,本來產品 P.X 可安裝在伺服器版本 S.X.0.1 上面,現在即將推出 P.X.X 必須裝在伺服器版本 S.X.0.2 上頭,需要修改安裝程式比對伺服器版本的正則表示式(Regular Expression)。為了不每次都編譯,執行安裝程式來測試正則表示式,使用 cygwin 裡頭的 egrep 指令來測試表示式。

首先先準備個測試資料文字檔案 version.txt:

S.X.0.0
S.X.0.1
S.X.0.2
S.X.0.3
S.X.0.5
S.X.0.11
S.X.1.0
S.X.1.2
S.X.2.0
S.X.11.2

然後這個是在 cygwin 裡頭下指令測試:

$ egrep --color=auto 'S\.X\.(((0\.[2-9])|(0\.[1-9][0-9]))|([1-9][0-9]*\.[0-9]+))' version.txt

預期的結果是前兩行不會出現,嗯…接著編譯好安裝程式,先在 Windows 平台上頭測試,然後是其他平台,沒問題就 check-in code 嚕~

%d bloggers like this: