This will only replace the second instance of title1
(and any subsequent instances) after the first:
string output = Regex.Replace(input, @"(?<=title1.*)title1", "title2");
However, if there are more than 2 instances, it may not be what you want. It's a little crude, but you can do this to handle any number of occurrences:
int i = 1;
string output = Regex.Replace(input, @"title1", m => "title" + i++);
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…