^字符的奇怪行为

时间:2016-01-14 10:22:46

标签: c# regex

我试图创建一个简单的RegEx来测试字符串是否是有效的变量名称(以字母或_开头,后跟更多这些或数字)。

这是我想要做的事情:

NavigationView

似乎工作正常。但是:

bool match = Regex.IsMatch(@"abc",@"^[a-zA-z_][a-zA-z_0-9]*$"); // TRUE as expected
bool match = Regex.IsMatch(@"=abc",@"^[a-zA-z_][a-zA-z_0-9]*$"); // FALSE as expected
bool match = Regex.IsMatch(@"0abc",@"^[a-zA-z_][a-zA-z_0-9]*$"); // FALSE as expected

= abc怎么可能不匹配但^ abc呢?几乎看起来插入符号以某种方式打破了RegEx引擎。但事实并非如此。我的RegEx有什么问题?

0 个答案:

没有答案