Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/289.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#中使用正则表达式查找循环模式_C#_Regex - Fatal编程技术网

在C#中使用正则表达式查找循环模式

在C#中使用正则表达式查找循环模式,c#,regex,C#,Regex,我如何使用C#和正则表达式来确定一个模式在字符串中出现了多少次,或者一个模式是否在整个字符串中重复。例如: 模式:abc 查找此信息在abcabc int count = Regex.Matches("abcabcabcabcabc", "abc").Count; 这将返回要搜索的文本(参数1)中模式(参数2)的出现次数。您可以使用类外的方法获取给定模式的给定输入字符串中的所有匹配项。如果您匹配的模式是用户输入,那么您可能还希望使用它来转义其中的任何特殊字符 var input = "abca

我如何使用C#和正则表达式来确定一个模式在字符串中出现了多少次,或者一个模式是否在整个字符串中重复。例如:

模式:
abc

查找此信息在
abcabc

int count = Regex.Matches("abcabcabcabcabc", "abc").Count;
这将返回要搜索的文本(参数1)中模式(参数2)的出现次数。

您可以使用类外的方法获取给定模式的给定输入字符串中的所有匹配项。如果您匹配的模式是用户输入,那么您可能还希望使用它来转义其中的任何特殊字符

var input = "abcabcabcabcabc";
var pattern = new Regex(@"abc");
var count = pattern.Matches(input).Count;

我认为正则表达式有点过分了。你是否已经知道“始发模式”,你打算发现它?我认为这是一个简单的例子。也许实际情况更为复杂。而且,用正则表达式实现这一点非常简单,所以我不确定这是不是“矫枉过正”。人们似乎普遍不喜欢使用正则表达式@Josh M.“人们似乎普遍厌恶使用正则表达式!”这是有充分理由的。@Yuriy-继续……不要害怕。你仍然循环遍历字符串中的每个字符来提取信息,是吗?@Josh M。我最近遇到一个500多个字符的正则表达式,写在一行中,没有任何注释。我已经用我自己的正则表达式重写了这个解决方案,使用了大量的注释和多行,最后可能是50个字符。令人惊讶的是,原来的正则表达式甚至不起作用。
Regex.Matches("abcabcabcabcabc", @"abc").Count