Как экранировать символы в Regex c#

Remedios1422

Client
Регистрация
04.02.2017
Сообщения
69
Благодарностей
4
Баллы
8
Regex pattern = new Regex(@"(?<=" + project.Variables["url_pars"].Value + ")[\w\W]*?</span>", RegexOptions.IgnoreCase);

Тут чтобы не выдавало ошибку надо по-идее заэкранировать символы "(", "?", "\" и ")"
Но у меня не получается. Что я делаю не так?
 

SergSh

Client
Регистрация
10.05.2017
Сообщения
541
Благодарностей
395
Баллы
63
Мб более подробно задачу опишите? Что в переменной проекта? Мб можно по другому выпарсить ваши данные?
 

n0n3mi1y

Client
Регистрация
08.03.2017
Сообщения
1 237
Благодарностей
573
Баллы
113
По-моему, в регулярке нельзя прописывать переменную?
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
Regex pattern = new Regex(@"(?<=" + project.Variables["url_pars"].Value + ")[\w\W]*?</span>", RegexOptions.IgnoreCase);

Тут чтобы не выдавало ошибку надо по-идее заэкранировать символы "(", "?", "\" и ")"
Но у меня не получается. Что я делаю не так?
либо просто так
Код:
Regex pattern = new Regex(@"(?<=" + project.Variables["url_pars"].Value + @")[\w\W]*?</span>", RegexOptions.IgnoreCase);
либо ещё и так, если в переменной есть символы эти
Код:
Regex pattern = new Regex(@"(?<=" + Regex.Escape(project.Variables["url_pars"].Value) + @")[\w\W]*?</span>", RegexOptions.IgnoreCase);
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)