我想將兩個.net正則表達式合併爲一個。以下表達式驗證excel類似單元格的名稱。組合.net正則表達式
Regex.IsMatch(name, @"^[A-Za-z]{1}[\w\.]*$") &&
!Regex.IsMatch(name, @"^[A-Za-z]{1,2}\d+$");
第一部分確保單元名稱以字符開頭並且可以是任意長度。第二個確保單元名稱不是單元格引用;例如,A1,AA1,AA11等
我想將兩個.net正則表達式合併爲一個。以下表達式驗證excel類似單元格的名稱。組合.net正則表達式
Regex.IsMatch(name, @"^[A-Za-z]{1}[\w\.]*$") &&
!Regex.IsMatch(name, @"^[A-Za-z]{1,2}\d+$");
第一部分確保單元名稱以字符開頭並且可以是任意長度。第二個確保單元名稱不是單元格引用;例如,A1,AA1,AA11等
以下可能的工作:
^[A-Za-z](?![A-Za-z]?\d+$)[\w.]*$
由於第一正則表達式必須匹配和第二絕不能,我移動第二個的一部分結合到一個negative lookahead其中不會消耗匹配中的任何字符,但仍然會使RE拒絕匹配第二個RE的字符串。
我相信你可以消除第二個電話IsMatch
,它不應該有所作爲。
Regex.IsMatch(name, @"^[A-Za-z]{1}[\w.]*$")
itsslef中的此模式確保字符串中不存在數字(0 - 9),所以它應該足夠。
'[\ w。] *'匹配可能是點,字母,下劃線,*或數字*的字符串。請提供您想要匹配的例子。 – 2010-01-27 14:41:10
備註:Excel單元格名稱最多可以有三個字符。 – Joey 2010-01-27 14:47:15