Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# word.otherword的正则表达式_C#_.net_Regex - Fatal编程技术网

C# word.otherword的正则表达式

C# word.otherword的正则表达式,c#,.net,regex,C#,.net,Regex,我想要一个单词的正则表达式。其他单词形式。我尝试了\b[a-z]\.[a-z]\b,但它在\.部分给了我一个错误,说无法识别的转义序列。知道怎么了吗?我在.NET C#下工作。谢谢 乐: john.Smith或john.Smith或john.Smith应该可以工作 约翰·史密斯或约翰!史密斯或约翰·史密斯不应该工作。试试这个: foundMatch = Regex.IsMatch(SubjectString, @"\b[a-z]\.[a-z]\b"); 可能你没有使用@ 您的正则表达式尝试匹配

我想要一个单词的正则表达式。其他单词形式。我尝试了
\b[a-z]\.[a-z]\b
,但它在
\.
部分给了我一个错误,说
无法识别的转义序列
。知道怎么了吗?我在.NET C#下工作。谢谢

乐:

john.Smith
john.Smith
john.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);
这将匹配所有单词。无论大小写如何,每个单词至少有一个字符

仅当第一个单词后面有空格或它是字符串的开头,并且仅当第二个单词后面有空格或它是字符串的结尾时,此选项才会匹配所有word.otherword

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

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);
这将匹配所有单词。无论大小写如何,每个单词至少有一个字符

仅当第一个单词后面有空格或它是字符串的开头,并且仅当第二个单词后面有空格或它是字符串的结尾时,此选项才会匹配所有word.otherword

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

foundMatch=Regex.IsMatch(SubjectString,@)(?请尝试将此正则表达式用于
word.word
格式:

@"\b([a-z]+)\.\1"
对于
word.otherword
使用以下命令:

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

请为
word尝试此正则表达式。word
格式:

@"\b([a-z]+)\.\1"
对于
word.otherword
使用以下命令:

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


我没有使用@。现在它不再给我一个错误,但是正则表达式在word.word格式中仍然不起作用。@AdrianMar:检查Aziz的答案。@FailedDev非常感谢!它起作用了。只有一点错了。在第二个字中,我只需要字母,上面的正则表达式也接受其他字符。@AdrianMar我觉得这很难相信,因为我们您是否可以使用示例输入和预期输出编辑您的问题?@FailedDev我不需要空格,但是这个RegEx
@“^[a-z]+\.[a-z]+$”呢
?它似乎起作用了。我没有使用@。现在它不再给我一个错误,但正则表达式在word.word格式中仍然不起作用。@AdrianMar:检查Aziz的答案。@FailedDev非常感谢!它起作用了。只有一件事错了。在第二个单词中,我只需要字母,上面的正则表达式也接受其他字符。@AdrianMar我发现这是Rathr很难相信,因为我们专门接受a-z范围内的字符。你能用示例输入和预期输出编辑你的问题吗?@FailedDev我不需要空格,但是这个正则表达式怎么办?“^[a-z]+\.[a-z]+$”
?这似乎有效。如果OP是在查找单词,而不是单词。其他单词,这看起来是正确的答案。因此,使用反向引用是正确的方法。我同意。尽管我的答案是基于他没有提到单词应该相同这一事实。我认为单词只是任何单词的占位符。对不起,abo我要的表格是word。otherword@FailedDev:同意:)这也是我想澄清的。在第二个词中(其他词),我只想要字母,上面的正则表达式也接受其他字符,如数字、符号等。如果OP查找的是实际的word.word而不是word.someotherword,这看起来是正确的答案。因此使用反向引用是正确的方法。我同意。虽然我的答案是基于他没有提到单词应该是b的事实完全相同。我认为word只是任何单词的占位符。对此表示抱歉。我想要的形式是word。otherword@FailedDev:同意:)这也是我想澄清的。在第二个词中(其他词),我只想要字母,上面的正则表达式也接受其他字符,如数字、符号等。您希望单词是相同的还是单词只是任何单词的占位符?单词不必完全相同。任何字母顺序都可以。您希望单词是相同的还是单词只是任何单词的占位符?w单词不必完全相同。任何字母顺序都可以。