正则表达式在第一个空格之后得到一切

在第一个空格后获取字符串中所有单词的语法是什么? 例如,鲍勃漂亮的房子。 所以结果应该是没有引用的“好房子”。

([^\s]+)给了我所有3个单独的单词;

,[\s\S]*$ >不编译。

我真的在寻找最短的代码。 以下完成了这项工作。 多谢你们

 \s(.*) 

我认为应该这样做:

 [^ ]* (.*) 

它允许0个或多个不是空格的元素,而不是单个空格,并选择在该空间之后的任何内容。

C#用法

 var input = "bobs nice house"; var afterSpace = Regex.Match(input, "[^ ]* (.*)").Groups[1].Value; 

afterSpace"nice house"

要在结果字符串中将第一个空格更改为[^ ]*( .*)

没有正则表达式解决方案

 var afterSpace = input.Substring(input.IndexOf(' ')); 

实际上 ,您不需要为该过程使用正则表达式。 你只需要像这样使用String.Split()方法;

 string s = "bobs nice house"; string[] s1 = s.Split(' '); for(int i = 1; i < s1.Length; i++) Console.WriteLine(s1[i]); 

输出将是;

 nice house 

这是一个DEMO