Jak RegEx Zastąp nazwane grupy
Muszę użyć RegEx.Replace, aby zastąpić tylko niektóre nazwane grupy w moim ciągu wejściowym.
Mogę mieć wzór taki jak:
"^(?<NoReplace>.+)(?<FirstPeriod>(\d{2})|CM|RM|PM|CN|RN){1}(?<LastPeriod>(\d{2})|CM|RM|PM|CN|RN){1}((#(?<NumberFormat>[#,\.\+\-%0]+))*)$"
Tokeny takie jak CM, RM są zastępowane przez Regex.Replace za pomocą MatchEvaluator. Powinno to jednak zastępować znaki tylko w grupach Pierwszy okres i Ostatni okres.
Przykładowe dane wejściowe:"FIELDCNS 01CM"
Pożądane wyjście:"FIELDCNS 0104"
Nieprawidłowe wyjście:"FIELD**04**S 0104"
Czy to możliwe, czy najlepiej po prostu wyciągam części, które chcę wymienić i ponownie zamontować?