string input = "aaaabbbccc12345677XXXXsfsfsrfsd";
MessageBox.Show(Regex.Match(input, "7(?<x1>.*)s").Groups["x1"].Value);
但我只想要XXXX Value?
MessageBox.Show(Regex.Match(input, ".*7(?<x1>.*?)s").Groups["x1"].Value);
答案 0 :(得分:1)
答案 1 :(得分:0)
你可以要求你的正则表达式不要太贪心
"7(?<x1>.*?)s"
答案 2 :(得分:0)
请记住,正则表达式具有最左边的语义。你似乎想要最左边的最开始,所以拼写
MessageBox.Show(Regex.Match(input, "^.*7(?<x1>.*?)s").Groups["x1"].Value);
子模式^.*7
表示“从字符串中的最后一个7
开始...”请注意,插入符号(字符串的开头)是多余的,但我喜欢使用它来强调{{1意思是最后^.*x
。
相反,x
表示匹配尽可能少的字符,从无字符开始。