Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.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中特定子字符串模式的开始和结束索引系列#_C#_.net_Regex_Indexing_Substring - Fatal编程技术网

C# C中特定子字符串模式的开始和结束索引系列#

C# C中特定子字符串模式的开始和结束索引系列#,c#,.net,regex,indexing,substring,C#,.net,Regex,Indexing,Substring,我需要算出AAA的起始和结束指数,AAAA,AA。在上述示例中,索引为(1,3)、(6,10)、(14,16)。有可能做到这一点吗 根据@的评论,通过使用正则表达式,您可以执行以下操作: string str = "AAA AAAAA AA" var r=newregex(@“(\S)(?:\S*(\S))?”; var input=“AAA”; var clusterPositions=r.Matches(输入).Cast() .Select(m=>new{start=m.Index

我需要算出AAA的起始和结束指数,AAAA,AA。在上述示例中,索引为(1,3)、(6,10)、(14,16)。有可能做到这一点吗 根据@的评论,通过使用正则表达式,您可以执行以下操作:

string str = "AAA  AAAAA    AA"
var r=newregex(@“(\S)(?:\S*(\S))?”;
var input=“AAA”;
var clusterPositions=r.Matches(输入).Cast()
.Select(m=>new{start=m.Index,
结束=m.索引+m.长度});
根据@的评论:你可以这样做:

string str = "AAA  AAAAA    AA"
var r=newregex(@“(\S)(?:\S*(\S))?”;
var input=“AAA”;
var clusterPositions=r.Matches(输入).Cast()
.Select(m=>new{start=m.Index,
结束=m.索引+m.长度});

最后一对不是(14,15)?您真的想从1而不是0开始索引吗?匹配第一个和最后一个字符的正则表达式如下所示:
(\S)(?:\S*(\S))?
。我不知道C#能否给你它的索引。谢谢你的回复。正确的索引号对我来说是可以的。我对上面例子的索引的计算是错误的。@HamZa-可能有更多不同长度的子字符串集,它们之间有更多的空格。@vicage
\S
,S大写字母匹配除空格以外的任何内容。我在一篇文章中添加了一些评论。因为您没有指定A可能是什么,所以它甚至会匹配
###
。最后一对不是(14,15)吗?您真的想从1而不是0开始索引吗?匹配第一个和最后一个字符的正则表达式如下所示:
(\S)(?:\S*(\S))?
。我不知道C#能否给你它的索引。谢谢你的回复。正确的索引号对我来说是可以的。我对上面例子的索引的计算是错误的。@HamZa-可能有更多不同长度的子字符串集,它们之间有更多的空格。@vicage
\S
,S大写字母匹配除空格以外的任何内容。我在一篇文章中添加了一些评论。由于您没有指定
A
可能是什么,这甚至会与
###
匹配。如果还有一个条件来检查子字符串的长度是否应等于或大于4@vicage接受这个答案,做一些研究。如果你被卡住了,去问一个新的。当然,哈姆扎。。谢谢您的及时回复。@vicage因为我心情很好,我会马上给您的
(\S)\S{2,}(\S)
。如果还有一个条件检查子字符串的长度是否应等于或大于4@vicage接受这个答案,做一些研究。如果你被卡住了,去问一个新的。当然,哈姆扎。。谢谢您的及时回复。@vicage因为我心情很好,我会马上给您的
(\S)\S{2,}(\S)