我想要一个word.otherword表单的正则表达式.我试过了\b[a-z]\.[a-z]\b,但它给了我一个错误的\.部分,说Unrecognized escape sequence.知道什么是错的吗?我在.NET C#下工作.谢谢!
LE:
john.Smith或者JoHn.SmItH还是JOHN.SMITH应该工作.
John Smith或john!Smith或john.Smith.Smith不应该工作.
试试这个 :
foundMatch = Regex.IsMatch(SubjectString, @"\b[a-z]\.[a-z]\b");
Run Code Online (Sandbox Code Playgroud)
可能你没有使用@?
你的正则表达式试图匹配aa这意味着一个字符.但既然你希望它匹配完整的单词,你需要一个量词,例如
\b[a-z]+\.[a-z]+\b
Run Code Online (Sandbox Code Playgroud)
最后,您可能希望使用不区分大小写的匹配来允许匹配大写字母的单词:
foundMatch = Regex.IsMatch(SubjectString, @"\b[a-z]+\.[a-z]+\b", RegexOptions.IgnoreCase);
Run Code Online (Sandbox Code Playgroud)
这将匹配所有words.words,每个单词至少有一个字符,无论大写.
只有在第一个单词后面有空格或者它是字符串的开头且仅在第二个单词后面有空格或者它是字符串的结尾时,才匹配所有word.otherword.
foundMatch = Regex.IsMatch(SubjectString, @"(?<=\s|^)\b[a-z]+\.[a-z]+\b(?=\s|$)", RegexOptions.IgnoreCase);
Run Code Online (Sandbox Code Playgroud)