Захватить переменную строку в регулярном выражении? - PullRequest
1 голос
/ 08 августа 2011

В C # я пытаюсь использовать следующий шаблон захвата с переменной - мне интересно, если я иду по этому поводу неправильно. info_name - это строковая переменная, которую я передаю методу.

    Regex g = new Regex(@"""" + info_name + """>.+</span>");
    // capture "info">Capture pattern</span>

Но это дает мне ошибку, ')' ожидается примерно на полпути. Это не дает ошибки:

    Regex g = new Regex(@"""" + info_name +">.+</span>");
                                         //^ 1 quote, not 3

Я не могу использовать это как решение, мне нужно захватить "перед закрытием тега.

1 Ответ

4 голосов
/ 08 августа 2011

Вы используете два строковых литерала, поэтому вам нужно применить @ оба раза:

Regex g = new Regex(@"""" + info_name + @""">.+</span>");

// or alternatively
Regex g = new Regex("\"" + info_name + "\">.+</span>");
...