Я очень новичок в этом регулярном выражении, все еще много чего не понимаю.Найти совпадение строки в Regex, вставить в переменную, сложную строку
Я вижу много @, но я не могу найти его в MSDN. Для чего нужен @? например: Regex regex = новое регулярное выражение ("@ {lalala},", RegexOptions.Compiled);
Это то, с чем я столкнулся. У меня есть эта строка.
{BaseClass.InheritClass, Tuple.Create ("MachineState", string.Empty)},
То, что я хочу сделать, это получить имя InheritClass и MachineState, поместите его в переменные.
Я попытался это:
Regex regex = new Regex(@"\{BaseClass.(?<inheritClassStr>\d+),Tuple.Create\(""(?<machineStateStr>\d+)"",string.Empty\)\},", RegexOptions.Compiled);
Я надеялся, что позже в коде я мог бы сделать что-то вроде этого:
string inheritClassString = inheritClassStr;
string machineStateString = machineStateStr;
Но это не работает, и я не знаю, как отлаживаем это. Я не знаю, что фиксирует Regex, поэтому мне очень сложно отлаживать.
Ваша помощь будет принята с благодарностью.
Я все еще получаю непризнанным побег последовательность ... я изменил свое Regex на: Regex регулярное выражение = новый Regex ("?.? \ {BaseClass ( *), Tuple.Create \ (\" (? . *?) \ ", string.Empty \) \}", RegexOptions.Compiled); Все еще не удается. У меня есть 4 непризнанная escape-последовательность :( Если я никогда не добавляю escape-последовательность до отметки кавычки, RegEx будет сбой при кавычке ... –
Farid
Это именно ошибка, для которой '@'. Префикс вашего регулярного выражения ' @ 'replace' \ "' с '" "' и ваше благо. – Rafal