我在C#中的正則表達式應該返回IsMatch = TRUE,只有當輸入具有所需的圖案,但實際上,如果某些字符匹配時,返回true ...怎麼會是正確的正則表達式?正則表達式匹配的表達只有這些情況
Regex reg = new Regex(@"[0-9 \-+]"); //accept only numbers, spaces, minus character and plus character
string formularight="1123 - 4432+32124";//its correct
bool validformat=reg.IsMatch(formularight)) //returns true, ok
string formulawrong="1123a - 4432+32124"; //it has one letter ismatch should be false...
validformat=reg.IsMatch(formulawrong)) //returns true, not ok
我後來檢查,如果每個號碼的下一個數字之前跟有負或加號,但如果它可以包含在正則表達式驗證...
我檢查了其他的正則表達式的問題,有人前建議我使用一個數據表來計算()的expresion或使用一些計算器邏輯請知道,在這種情況下,號碼一樣使用,我將用它來從數據庫中獲取某些值不是數值本身的字段名。所以我只需要解析公式之前的正則表達式驗證。由於
Valid examples for regex:
11123
112 - 1121
112-1121
1221111+554-111135678
44332-54-114
Invalid examples (letters present, not a + or - between numbers,...):
112 -
6543e
112 1121
6543e + 4432
-7632
你們都是說得對的開始和結束錨......什麼事情錯過:/ – VSP