我有以下字符串,需要正则表达式才能将其与返回值和键匹配。
guid =“b3b63ef4-ebb3-4983-9c4e-0eccf77ec32c”name =“test.testName”
我使用了以下代码,但听起来有问题:
Regex.Matches(s, "(\\w+)=\"([\\w\\.:\\?/=]+)\"", RegexOptions.IgnoreCase | RegexOptions.Compiled)
我得到的只是name =“test.testName”而不是guid。
有什么建议吗?
答案 0 :(得分:1)
您的正则表达式目前不允许使用连字符。尝试:
Regex.Matches(s, "(\\w+)=\"([\\w\\.:\\-\\?/=]+)\"", ...params...);
答案 1 :(得分:1)
这是因为你没有匹配guid中的-
。它不在\w
中,也不在你角色类的任何其他部分。
如果您确定输入的格式,可以尝试与
匹配Regex.Matches(s, "(\\w+)=\"([^\"]+)\"", RegexOptions.IgnoreCase | RegexOptions.Compiled);
这匹配一个单词,一个等号,一个开头的双引号,然后是一些 不双引号然后结束双重的任何内容报价。
答案 2 :(得分:0)
可能是这样的:
Regex.Matches(s, @"(\w+)=""([^""]*)""",
RegexOptions.IgnoreCase | RegexOptions.Compiled);