試圖圍繞我的腦袋圍繞Regex capturing groups
並且有點麻煩。C#正則表達式捕獲組
我有一些字符串,我想捕獲組爲:
@msg=hello;name=test 1 // Groups: msg = hello, name = test, rest = 1
@msg=hi 2 // Groups: msg = hello, name = null, rest = 2
@name=tt 3 // Groups: msg = null, name = tt, rest = 3
我有以下regex
:
msg=(?P<msg>[^;]+)?.*name=(?P<name>[^;]+)?\s(?P<rest>.*)
其中第一行,而不是第二工作正常或第三個。任何想法我怎麼能使它爲他們工作呢?我試圖把各地捕獲組一些()?
無濟於事:
// Below gets me weird results
(msg=(?P<msg>[^;]+)?)?.*(name=(?P<name>[^;]+)?)?\s((?P<rest>.*))?
感謝。
有一些偉大的正則表達式的測試,在那裏,應該能夠幫助你。玩regexr.com直到你找到你要找的東西,你可以學到很多,而這樣做:) –