2015-07-20 39 views

回答

1

您可以使用\S匹配一個非空白字符並重復捕獲的時候需要的量:

^#\s*(\S+)\s*(\S+)\s*(\S+)\s*(\S+)\s*(\S+) 

demo

這些值將進入捕獲的組。

或者,你可以得到所有這些與

(?:^#|(?<!^)\G)[ ]*([^\s\n]+)(?=.*$) 

匹配見another demo

+0

請注意,我的第一個解決方案是反向的,但取決於要捕獲的常量值,而第二個解決方案几乎是通用的大多數語言(例如Java,Python和JavaScript)通過PCRE/Oniguruma支持它,甚至.NET也支持它。 –

0

你有空白之後,你想捕捉非空白的重複模式,所以這應該做的訣竅:

`^#(?:\s*(\S+))+$` 

樣品:

var re = new Regex(@"^#(?:\s*(\S+))+$"); 
var matches = re.Matches("# MHz S MA R 50"); 
Console.WriteLine(matches); 

輸出:

enter image description here

相關問題