Подтвердить что ты не робот

Последовательности повторного использования С#

Есть ли где-нибудь полный список escape-последовательностей регулярных выражений? Я нашел этот, но для стартеров он отсутствовал \\ и \e. До сих пор я придумал этот шаблон регулярного выражения, который, надеюсь, соответствует всем escape-последовательностям:

 @"\\([bBdDfnreasStvwWnAZG\\]|x[A-Z0-9]{2}|u[A-Z0-9]{4}|\d{1,3}|k<\w+>)"
4b9b3361

Ответ 1

В качестве альтернативы, если вы хотите просто удалить строку правильно, вы можете просто зависеть от Regex.Escape(), который сделает для вас необходимое экранирование.

Подсказка: есть также Regex.Unescape()

Ответ 2

Эта страница MSDN (Элементы языка регулярного выражения) - это хорошее начальное место, эта подстраница о escape-последовательностях.

Ответ 3

Не забывайте о размерах возможных категорий юникода: \p{Lu}, \P{Sm} и т.д.

Слишком много из них для вас в отдельности, но я полагаю, вы могли бы использовать что-то по строкам \\[pP]\{[A-Za-z0-9 \-_]+?\} (untested).

И также есть более простые вещи, отсутствующие в вашем списке: \., \+, \*, \? и т.д. и т.д.

Если вы просто пытаетесь освободить существующее регулярное выражение, вы можете попробовать Regex.Unescape. Это не идеально, но, вероятно, лучше, чем все, что вы или я могли бы выбить за короткий промежуток времени.