By using the @""
string literal for the replacement string, you're disabling the escape character parsing. If you make the change to the second string to be a normal string, since you don't have any
characters you need to maintain, it'll work as you're expecting.
strFile = Regex.Replace(
strFile,
@"(FA|BO)s+(d{3}-d+)(s+)(.*?)(s+)(d+,*d*.d+)s*(FA|BO)s+(d{3}-d+)(s+)(.*?)(s+)(d+,*d*.d+)s*",
"$2&$4&$6
$8&$10&$12");
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…