【发布时间】:2014-04-30 15:37:07
【问题描述】:
我知道这里已经讨论过类似的问题和问题,但不完全是我需要的。
让我们面对一个问题,我们有一根很长的绳子,一根很长的绳子,干草堆,我们有一根针。经典问题:搜索所有出现的事件。 Regex.Matches 是一个不错的函数,它只有一个问题,在我们的例子中是一个严重的问题,它不计算重叠的字符串。
例如
string haystack = "(anything)....bbb....(anything)";
string needle = "bb"; //must be a string not a char
现在我们看到,bb 是大海捞针中 bbb 部分的 2 倍。 (BBb 和bBB)Regex.Matches 只找到第一个,他从第三个b 进一步搜索。并且不会找到任何其他的。
知道如何在长长的大海捞针字符串中搜索具有重叠选项的毛皮子字符串(当然必须高效)?
谢谢,如有重复请见谅。
【问题讨论】:
-
使用 string.IndexOf(string, fromPosition)
标签: c# regex string performance