2015-06-20 25 views
1

我想通過reg ex看到如果用戶給出了正確的輸入(用戶應該給複數),並且依賴於輸入,程序應該給出一些操作。如何完全比較正則表達式中的字符串C

到目前爲止,我有比較3個reg表達式中:

@"([-]?[1-9][0-9]*[+|-][1-9][0-9]*i)+" 
@"([-]?[1-9][0-9]*)+" 
@"([-]?[1-9][0-9]*[i])+" 

在這種情況下,我想看看複數正確地給出,我用第一章恩。

如果沒有正確給出,我想使用其他兩個表達式來查看用戶是否使用縮寫輸入。

問題是如果用戶在程序中給出3i我會得到這是真實的數字,因爲註冊前。 Reg ex正在測試字符串的部分是否正確,並且我想知道整個字符串是否正確。

例如,如果我鍵入3i3,如果我使用第三個表達式,我會得到結果是真實的,我希望它只對3i是真實的。

回答

1

如果你想整個字符串相匹配的正則表達式,添加^$錨它:

@"^([-]?[1-9][0-9]*[+|-][1-9][0-9]*i)+$" 
@"^([-]?[1-9][0-9]*)+$" 
@"^([-]?[1-9][0-9]*[i])+$" 
  • ^之初意味着比賽必須在輸入的起點開始字符串
  • $最後意味着在匹配後輸入中不得有多餘的字符