19

Вопрос по c#, regex – Обработка regex escape-текста замены, который содержит символ доллара

string input = "Hello World!"; string pattern = "(World|Universe)"; string replacement = "$1"; string result = Regex.Replace(input, pattern, replacement); Имея следующий пример, результат будет"Hello World!"как$1 заменяется ...

1 ответ

17

ОтMSDN:

The replacement parameter specifies the string that is to replace each match in input. replacement can consist of any combination of literal text and substitutions.

Следующие заменыопределены:

  • $number
  • ${name}
  • $$
  • $&
  • $`
  • $'
  • $+
  • $_

Substitutions are the only special constructs recognized in a replacement pattern. None of the other regular expression language elements, including character escapes and the period (.), which matches any character, are supported. Similarly, substitution language elements are recognized only in replacement patterns and are never valid in regular expression patterns.

Таким образом, похоже, что это только символ $, который необходимо экранировать.

Похожие вопросы