2013-05-10 28 views
0

我正面臨着asp.net正則表達式中的問題。正則表達式驗證如果第5或第6個字符「_」

我需要驗證第5或第6個字符是否爲"-"

例如

3000-4567, 3000-4568該字符串是,分離並還具有一個連字符。我只需要檢查每個逗號分隔的字符串是否具有第5個或第6個字符作爲"-"。在系統中使用

當前正則表達式是 ^((\s*\d{4,4}\s*[,]){1,3}?)?(\s*\d{4,4})*$

目前其驗證3000,4567

回答

1

我做你的正則表達式2個的細微變化:

'^((\s*\d{4,5}\s*[/-]){1,3}?)?(\s*\d{4,4})*$' 

改變了第一的基數數字組爲{4,5}允許5位數字(我猜是你想要的,因爲破折號可以是第六個字符),並改變了se parator的用法和樣例:請注意斜線以逃避它,因爲在方括號中短劃線是一個特殊字符(你可能不需要那裏的括號)。

作爲替代方案,請考慮split-實例的字符串進行驗證,然後驗證拆分的塊。這應該容易得多。

相關問題