c# - Regex expression error -
currently dont want below string passed regex
refer mtf#y2015-19555
regex
(.)\\1{2,}
the photo attached appeared impossible passed regex, program happened string matched regex, want know happened it
i think problem is, regex-pattern differently seen regex-tester , .net framework. when using pattern in code, have keep in mind, string checked escape characters.
while regex-tester gets (.)\\1{2,}
, .net framework regex
gets (.)\1{2,}
because "\\"
becomes \
. fix changing pattern string pattern = "(.)\\\\1{2,}";
or disable escape characters using string pattern = @"(.)\\1{2,}";
.
you can see difference considering pattern \w
.
regex.match("\w", myteststring);
this cause compiler error because "\w"
contains unknown escape sequence (the string evaluated @ development time). fix error, i'm adding @
in front of string , compiler satisfied.
regex.match(@"\w", myteststring);
in case, don't error because "\\"
still valid string. experienced,
regex.match("\\", myteststring); regex.match(@"\\",myteststring);
may lead different results.