This is an example not taking into account any invalid characters in a file name
[^_]*_(.+)..+
Group 1 of that regex would return uniqueid in your first example. If you want to capture the file extension as well you can use the following.
[^_]*_(.+)
Edit:
C# Example with Regex.replace
//With file extension option
Regex.Replace(Test, "([^_]*_).+(\..+)", "$1somethingelse$2");
//Change file extension option
Regex.Replace(Test, "([^_]*_).+\..+", "$1somethingelse.pdf");
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…