第一个字符串是
string str1="aaa sdf xxx fgd bbb efg rrr";
第二串
string str2="ddd qwe ccc fgd eee ehj";
什么应该是RegEx模式,它说str1和str2在模式上是相同的。
string pattern = "---------";
if(Regex.Match(str1 , pattern).Success== Regex.Match(str2 , pattern).Success)
{
return true;
}
像这样的if字符串
string str1="afa fff fss fgd bfb efg rrr";
string str2="sdf qwe cfc fgd ge ehj";
代码应该返回false
正则表达式将是:
[a-z\ ]*
var segments1 = str1.Split(' ').Select((str, index) => new { Count = str.Length, Index = index });
var segments2 = str2.Split(' ').Select((str, index) => new { Count = str.Length, Index = index });
bool bIsSamePattern = true;
foreach(var segment in segments1)
{
var segment2 = segments2.FirstOrDefault(x => x.Index == segment.Index);
if (segment2 == null)
break;
bIsSamePattern = segment2.Count == segment.Count;
}
如果这对您来说更容易,您不需要使用Regex
。
尝试以下操作:
([a-zA-Z0-9])\1\1
推荐:
http://icfun.blogspot.in/2008/07/regex-to-match-same-consecutive.html
希望它有帮助。