Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.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
.NET正则表达式-匹配后获取字符串_.net_Regex - Fatal编程技术网

.NET正则表达式-匹配后获取字符串

.NET正则表达式-匹配后获取字符串,.net,regex,.net,Regex,我正在处理一些字符串,这些字符串通常采用下一种格式: 单词1单词2单词3单词4 我最初的目标是返回第二个空格后的字符串部分,以便获得: 单词3单词4 我搜索了一些方法,由于下一个正则表达式,我只成功地检索到了前两个单词,包括第二个空格(“word1 word2”): ^([^\s]*\s[^\s]*)\s 现在,为了匹配我的初始目标,我想找到一种方法来返回实际上与给定模式不匹配的字符串的其余部分。有什么想法吗 重要的是,我还必须处理下一个案件: "" -> "" "word1" ->

我正在处理一些字符串,这些字符串通常采用下一种格式:

单词1单词2单词3单词4

我最初的目标是返回第二个空格后的字符串部分,以便获得:

单词3单词4

我搜索了一些方法,由于下一个正则表达式,我只成功地检索到了前两个单词,包括第二个空格(“word1 word2”):

^([^\s]*\s[^\s]*)\s
现在,为了匹配我的初始目标,我想找到一种方法来返回实际上与给定模式不匹配的字符串的其余部分。有什么想法吗

重要的是,我还必须处理下一个案件:

"" -> ""
"word1" -> ""
"word1 word2" -> ""
"word1 word2 word3" -> "word3"
"word1 word2 word3 word4 wordX" -> "word3 word4 wordX"
基本上是在第二个间隔之后返回所有内容(如果有明显的间隔!)。我也希望避免替换或任何其他方法

我提前感谢你们的回复,并祝你们度过美好的一天!
请注意,

您可以依赖.NET正则表达式中的可变长度查找:

(?<=^(?:\S+\s+){2}).+

(?不需要正则表达式。您可以尝试以下方法:

var inputString = "word1 word2 word3 word4";
string.Join(" ", inputString.Split(' ').ToList().Skip(2).ToList());
这个也很相配

^(?:(\w+ ?)?(\w+ ?)?)(.*$)

它工作得很有魅力!谢谢你为Wiktor所做的一切!!:)完成了!我以前不能这样做,因为我昨晚才赢得了向上投票的特权。再次感谢你所做的一切!!我最初的信息可能不是很清楚,但Wiktor是正确的。我想在不使用C代码的情况下达到我的目标。无论如何,谢谢你的回复,科茨!你好我的regex测试仪(regexstorm)返回的匹配项与你的不一样。可能结果会因口味的不同而有所不同?您是否在
regex101.com
上查看了它?我查看了您的演示。)我只是注意到不同的结果取决于使用的网站,并想知道他们可能来自哪里。无论如何,感谢您的回复!