我想使用一個正則表達式對下面的行匹配參數:匹配多個空格與散列開始(#)線分隔的字符串
...
# MHz S MA R 50
...
隨着^#\s([a-zA-Z0-9]+)\s
,我可以匹配線和所述第一參數,但不是其他人。
請參閱my example here。
我想使用一個正則表達式對下面的行匹配參數:匹配多個空格與散列開始(#)線分隔的字符串
...
# MHz S MA R 50
...
隨着^#\s([a-zA-Z0-9]+)\s
,我可以匹配線和所述第一參數,但不是其他人。
請參閱my example here。
您可以使用\S
匹配一個非空白字符並重復捕獲的時候需要的量:
^#\s*(\S+)\s*(\S+)\s*(\S+)\s*(\S+)\s*(\S+)
見demo
這些值將進入捕獲的組。
或者,你可以得到所有這些與
(?:^#|(?<!^)\G)[ ]*([^\s\n]+)(?=.*$)
匹配見another demo
請注意,我的第一個解決方案是反向的,但取決於要捕獲的常量值,而第二個解決方案几乎是通用的大多數語言(例如Java,Python和JavaScript)通過PCRE/Oniguruma支持它,甚至.NET也支持它。 –
你有空白之後,你想捕捉非空白的重複模式,所以這應該做的訣竅:
`^#(?:\s*(\S+))+$`
樣品:
var re = new Regex(@"^#(?:\s*(\S+))+$");
var matches = re.Matches("# MHz S MA R 50");
Console.WriteLine(matches);
輸出:
其中郎您正在運行? –
https://regex101.com/r/pL4wB7/2 – Tushar
我正在使用pcre(php) –