程序在電子表格中爲單元格的名稱提供了字符串。該電子表格可以包含一個名稱以字母a-zA-Z_開頭的單元格,但其他任何信息都是無效的。在第一個字母或下劃線之後,可以有字母數字或下劃線的任意組合。例如:使用正則表達式匹配字符串c#
______35we3I
是一個有效的名稱
123dfdf
是不是一個有效的名稱。
如果這些字符串存在,我想拋出一個異常。我是新來的正則表達式,但這是我想出來的,它不像我想要的那樣工作。
@"[a-zA-Z_][a-zA-Z_|\d]*"
當第二個例子是在Regex.IsMatch
函數傳遞,因爲表達式的後半部分是有效返回true。有沒有一種方法可以始終從字符串的開頭開始?
我應該說我嘗試使用{^}來達到上述條件,但當胡蘿蔔在那裏時它不接受任何東西。
對我來說似乎很好,只是通過添加表達式的開始和結尾來測試它:這裏是鏈接http://rubular.com/r/UMIcvl0olc – 2014-10-03 15:15:14
Avinash給出了很好的建議。我只想添加一些東西:爲了測試你的正則表達式,你可以使用RadSoftware正則表達式設計器(http://rad-software-regular-expression-designer.software.informer.com/1.4/),它非常強大,而且它的構建在.Net中,它提供與.Net正則表達式類完全相同的選項。 – AFract 2014-10-03 15:30:11