I’ve inherited some C# code with the following regular expression
Regex(@"^[a-zA-Z''-'\s]{1,40}$")
I understand this string except for the role of the single quotes. I’ve searched all over but can’t seem to find an explanation. Any ideas?
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
From what I can tell, the expression is redundant.
It matches
a-zorA-Z, or the'character, or anything between'and'(which of course is only the'character again, or any whitespace.I’ve tested this using RegexPal and it doesn’t appear to match anything but these characters. Perhaps the sequence was generated by code, or it used to match a wider range of characters in an earlier version?
UPDATE: From your comments (matching a name), I’m gonna go ahead and guess the author thought (s)he was escaping a hyphen by putting it in quotes, and wasn’t the most stellar software tester. What they probably meant was:
Which could also be written as: