RexExp в C#

zombie

Client
Регистрация
14.08.2012
Сообщения
479
Благодарностей
117
Баллы
43
Добрый день, друзья! Столкнулся с проблемой выпарсивания значения регуляркой в C# экшене.
Код:

var tab = instance.ActiveTab;
var signupAge = tab.FindElementByAttribute("input:text","id","signup_age","text",0).OuterHtml;
var regex = new System.Text.RegularExpressions.Regex("disabled");
var result = regex.Matches(signupAge)[0];
if (result != ""){
return true;
}
else{
throw new Exception("");
}

В OuterHtml такие данные ---> <input disabled="disabled" name="user[age]" id="signup_age" value="" class="signup_age is_empty" size="3" min="1" max="125" data-required="required" type="text">

Ошибка. Насколько я понял что-то с типами данных. Может что-то другое. Мне просто нужно выпарсить "disabled" и в зависимости от полученного результата идти дальше. Подскажите, пожалуйста, как заставить код корректно работать. Да и на будущее очень нужно =)

Может есть варианты попроще ? Преследуется цель,например, выпарсить тотже OuterHtml, спарсить искомое значение регуляркой и в зависимости от результата выйти по if - тру или фалс.
 

zombie

Client
Регистрация
14.08.2012
Сообщения
479
Благодарностей
117
Баллы
43
Узнал, что if (result != "") не правильно. Но до конца не решил проблему.

Теперь вопрос другой - как определить в переменную вышеуказанный OuterHtml ?
Писал так string text = отэрхтмл, заменив все " в нём на ' и выделил " - получилось, но текст (OuterHtml), который я парсю изначально весь со знаками "

Пробовал оставить как есть и выделить ' т.е.

string text = '<input disabled="disabled" name="user[age]" id="signup_age" value="" class="signup_age is_empty" size="3" min="1" max="125" data-required="required" type="text">';

не получается.

Ошибка - Too many characters in character literal
 

surrealmix

Client
Регистрация
07.03.2013
Сообщения
715
Благодарностей
409
Баллы
63
Теперь вопрос другой - как определить в переменную вышеуказанный OuterHtml ?
Писал так string text = отэрхтмл, заменив все " в нём на ' и выделил " - получилось, но текст (OuterHtml), который я парсю изначально весь со знаками "

Пробовал оставить как есть и выделить ' т.е.

string text = '<input disabled="disabled" name="user[age]" id="signup_age" value="" class="signup_age is_empty" size="3" min="1" max="125" data-required="required" type="text">';

не получается.

Ошибка - Too many characters in character literal
http://msdn.microsoft.com/ru-ru/library/system.text.regularexpressions.regex.escape.aspx

var signupAge = project.Variables["html"].Value;
return System.Text.RegularExpressions.Regex.Escape(signupAge);
 
  • Спасибо
Реакции: zombie

surrealmix

Client
Регистрация
07.03.2013
Сообщения
715
Благодарностей
409
Баллы
63
PHP:
var signupAge = project.Variables["html"].Value;
signupAge = System.Text.RegularExpressions.Regex.Escape(signupAge);

var regex = new System.Text.RegularExpressions.Regex("disabled");
var result = regex.Matches(signupAge)[0].ToString();
if (result != ""){
return "true";
}
else{
return "false";	
}
 
  • Спасибо
Реакции: zombie

zombie

Client
Регистрация
14.08.2012
Сообщения
479
Благодарностей
117
Баллы
43

zombie

Client
Регистрация
14.08.2012
Сообщения
479
Благодарностей
117
Баллы
43
Чёрт, не подходит

var result = regex.Matches(signupAge)[0].ToString();
Если нет совпадения, то просто ошибка экшена, скрипт не идёт дальше (((
В Си вникаю меньше 24 часов. Первый свой экшн написал вчера, так что много очевидных вещей могу не видеть.

Решил через сёрчиндекс =)
 

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