程序在电子表格中为单元格的名称提供了字符串。该电子表格可以包含一个名称以字母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