2015-06-20 64 views
0

我有點卡在這種情況! 我需要用相同格式的數據「3XYZ-02-01-ABC-001」創建2個文本框,然後在不匹配時只需比較「3XYZ-02-01-ABC」和彈出文本。2文本框與驗證的自定義格式和輸入,並比較兩個數據VB2010

我用VB2010和在winform創建它

無法使用正則表達式,不知道爲什麼?任何解決方案? 任何蒙面文本框解決方案,將有所幫助,非常感謝。 它有點挑戰!

感謝

+0

'\ d [az] {3} - \ d {2} - \ d {2} - [az] {3} - \ d {3} | \ d [az] {3} - \ d {2} - \ d {2} - [az] {3}' - 抱歉已更新。這應該符合這兩個條件。如果你需要結果,可以做'(\ d [az] {3} - \ d {2} - \ d {2} - [az] {3} - \ d {3})|(\ d [az ] {3} - \ d {2} - \ d {2} - [az] {3})'。你也可以在.NET正則表達式中使用分組和特殊條件,但是還沒有發揮足夠的作用來提供建議。 –

+0

我添加了一個解決方案,爲您做測試並返回一個布爾(真/假)響應。沒有對它進行測試,所以如果布爾響應是反向的,只需在第一個正則表達式行中添加一個「^」作爲第一個字符。 –

回答

0

爲了驗證(布爾)不返回字符串,這將檢查這兩個條件。

public function ValidateCode(Code as string) as boolean 
    Dim test As String = "" 

    ' The longer code check 
    test = "\d[a-z]{3}-\d{2}-\d{2}-[a-z]{3}-\d{3}" 

    ' The regex OR operator 
    test = test & "|" 

    ' The shorter code check 
    test = test & "\d[a-z]{3}-\d{2}-\d{2}-[a-z]{3}" 

    ' Perform regex test and return the boolean 
    return Regex.IsMatch(Code, test) 
end function