你这个可以编译通过吗?正则表达式字符串前应该加个@吧,这个暂且不说得到这样的结果,没什么好奇怪的,你的正则
(^|\D+)(010)?(?<p>[568]\d{7})($|\D+)
匹配到的内容是84926017/
你只是把匹配到的这部分内容替换为84926017了
那么结果就是它加上后面没有被替换掉的内容13240898676,也就是结果为8492601713240898676 如果你只是想提取,可以这样做
string result = string.Empty;
Match m = Regex.Match("84926017/13240898676",   @"(?<=(?:^|\D+)(010)?)[568]\d{7}");
if (m.Success)
    result = m.Value;
MessageBox.Show(result);