原标题:问一个正则表达式相关的问题."pageUrl":"([\S]+)","name用上面的匹配如下:得到的是"pageUrl":"test1","name":"test1","pageUrl":"test2
但我想得到的是test1怎么能让它碰到第一个","name就停止呢?
----------------------------------分割线----------------------------------上面的是问题的原样,得到答案后,梳理一下文字,以尽可能的更容易被不知道的搜索到.
贪婪匹配:在满足匹配条件时,匹配尽可能长的字符串,在匹配中,默认为贪婪匹配.
string pattern1 = @"a.*c"; // greedy match Regex regex = new Regex(pattern1);regex.Match("abcabc"); // return "abcabc"
非贪婪匹配:在满足匹配条件时,匹配尽可能短的字符串,使用?来表示非贪婪匹配
string pattern1 = @"a.*?c"; // non-greedy match Regex regex = new Regex(pattern1);regex.Match("abcabc"); // return "abc"
以上内容来自:@zdd的博客,文章地址:正则表达式-问号的四种用法
解决方案
非贪婪匹配,+
后面跟一个 ?
即可
"pageUrl":"([\S]+?)","name