c# - word.otherword 的正则表达式

标签 c# .net regex

我想要一个 word.otherword 形式的正则表达式。我尝试了 \b[a-z]\.[a-z]\b,但它在 \. 部分给了我一个错误,说 Unrecognized escape sequence。知道出了什么问题吗?我在 .NET C# 下工作。谢谢!

乐:

john.SmithJoHn.SmItHJOHN.SMITH 应该可以工作。

John Smithjohn!Smithjohn.Smith.Smith 不应该工作。

最佳答案

试试这个:

foundMatch = Regex.IsMatch(SubjectString, @"\b[a-z]\.[a-z]\b");

可能你没有使用@?

您的正则表达式尝试匹配 a.a 这意味着单个字符。但是由于您希望它匹配完整的单词,因此您需要一个量词,例如

\b[a-z]+\.[a-z]+\b

最后,您可能希望使用不区分大小写的匹配来匹配大写字母的单词:

foundMatch = Regex.IsMatch(SubjectString, @"\b[a-z]+\.[a-z]+\b", RegexOptions.IgnoreCase);

这将匹配所有 words.words,每个单词至少有一个字符,无论大小写如何。

只有当第一个单词后面有空格或者它是字符串的开头并且第二个单词之后有空格或者它是字符串的结尾时,这才会匹配所有 word.otherword。

foundMatch = Regex.IsMatch(SubjectString, @"(?<=\s|^)\b[a-z]+\.[a-z]+\b(?=\s|$)", RegexOptions.IgnoreCase);

关于c# - word.otherword 的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7685650/

相关文章:

C#对象复制解释?

c# - 如何使用列表和关系对象测试 fluent-NHibernate 的 PersistenceSpecification.VerifyTheMappings?

c++ - boost::regex vs std::regex - 找不到 empty() 方法?

javascript - 寻找返回字符串一部分的有效方法

c# - string.IsNullOrEmpty 使用 Trim()

c# - EntityFramework 过程或函数 '' 需要参数 '',但未提供

c# - 字符串作为变量名

c# - gridview 行上的 Ajax 动画

.net - 如何将System.IO.Stream转换为字符串,然后再返回到System.IO.Stream

java - 检查输入字符串是否包含标点符号字符串中的任何标点符号的有效方法