Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.09.2010, 14:18   #1
catechumen
Пользователь
 
Регистрация: 17.09.2010
Сообщений: 10
По умолчанию выручайте!горю!html,регулярки..

ребят..в дружбу!на c# недолго. я перерыл пол нета.. было бы больше время - сидел бы еще долго (впринципе на выходных буду это делать).. регулярки.. я ваще непонял их..
нужно вытащить из html текст который находится в определенном порядке. нифига не понял принцип работы регулярок..
выручите.. как вытащить дату c тегами отсюда
Код:
<html>
<head>
фигня
</head>

<body>
<table id=>фигня
</table>
<form id="form" method="post"><h1>текст заканчивается словом ресурса:<span>01.01.2010</span></h1>
фигня
</body>
причем в html мусоре тег <span> встречается не 1 раз с ненужными мне значениями(не дата)
какой принцип у регулярок? как мне стать на символ после слова " ресурса:" и скопипастить все до тега </h1>? в делфях там все через copy() тут пока не понял.. даю честное пионерское - выучу! ибо нужно знать..впереди еще будет)))
я пишу через regex..
Regex strpatdate = new Regex(@"ресурса\:\s<").. <- тут написана походу ерунда))
я пока тем временем продолжаю гуглить и тд..
catechumen вне форума Ответить с цитированием
Старый 17.09.2010, 16:01   #2
m0nax
Форумчанин
 
Аватар для m0nax
 
Регистрация: 25.09.2009
Сообщений: 525
По умолчанию

с тегами так с тегами
Код:
Regex strpatdate = new Regex(@"<span>\d{1,2}.\d{1,2}.\d{4}<\/span>")
string data = strpatdate.Math().Value;
вытащит "<span>01.01.2010</span>"

вообще для этого сгодятся и обычные методы строк, типа IndexOf и Substring
m0nax вне форума Ответить с цитированием
Старый 17.09.2010, 16:51   #3
catechumen
Пользователь
 
Регистрация: 17.09.2010
Сообщений: 10
По умолчанию

Ищи тут...

m0nax - спасибо!огромное..
dampirik - спс. тоже гляну обязательно

Последний раз редактировалось Stilet; 21.09.2010 в 11:33.
catechumen вне форума Ответить с цитированием
Старый 17.09.2010, 17:08   #4
catechumen
Пользователь
 
Регистрация: 17.09.2010
Сообщений: 10
По умолчанию

я прошу прощения за наглость)))
(@"<span>\d{1,2}.\d{1,2}.\d{4}<\/span>")
здесь - начало <span>, затем идет дата и заканчивается span>

а если вместо даты набор символов+конец строки.. причем в разном порядке?
(@"<span>.<\/span>") -так? т.е. все символы..
а если между span не конец строки?

просто хочу понять)если не трудно
catechumen вне форума Ответить с цитированием
Старый 17.09.2010, 17:18   #5
m0nax
Форумчанин
 
Аватар для m0nax
 
Регистрация: 25.09.2009
Сообщений: 525
По умолчанию

иди на http://rubular.com/regexes/12916 и экспериментируй сколько угодно
m0nax вне форума Ответить с цитированием
Старый 17.09.2010, 17:33   #6
catechumen
Пользователь
 
Регистрация: 17.09.2010
Сообщений: 10
По умолчанию

Цитата:
Сообщение от m0nax Посмотреть сообщение
иди на http://rubular.com/regexes/12916 и экспериментируй сколько угодно
к сожалению "спасибо" - все что я могу сказать
catechumen вне форума Ответить с цитированием
Старый 21.09.2010, 10:29   #7
catechumen
Пользователь
 
Регистрация: 17.09.2010
Сообщений: 10
По умолчанию

Монаху отдельное спс за хелп)
вопросик все по тем же регуляркам...
Код:
<html>
<head>
фигня
</head>

<body>
<table id=>фигня
</table>
<form id="form" method="post"> 
<span><tr>01.01.2011</tr></span>
<span><tr>01.01.2012</tr></span>
<span><tr>01.01.2010</tr></span>
фигня
</body>
если не трудно.. вариант почти как в начале но чуть сложнее..
если теги <span> добавляются динамически.. т.е. по запросу может отобразится 1,а может 10.. и мне их нужно все забрать.. т.е. если пользоваться регулярками то примерно нужно написать что то типа:
<span>\s*.*\s*.*\s*.*<.*span>.. но если использовать \s - то можно например угадать тока определенное кол-во раз конца строки. Если указать .* - не учитывает конец строки.. есть вариант регекспов учитывающих любые символы включая конец строки? ну что то по типу:
от символа <span>.*\s<\/span>... - типа все символы и все переходы строк, пока не найдет закрывающийся тег - span..
буду оч признателен. инфы есессно искал но пока ненашел.. пока другого способа вырезать динемически появляющееся кол-во span не понял.. буду благодарен за совет решения задачи другим способом. если всетаки реально регекспами буду благодарен вдвойне)

Последний раз редактировалось catechumen; 21.09.2010 в 10:59.
catechumen вне форума Ответить с цитированием
Старый 21.09.2010, 11:29   #8
catechumen
Пользователь
 
Регистрация: 17.09.2010
Сообщений: 10
По умолчанию

всем спасибо.. нашел способ регуляркой..
если кому интересно.. примерно так:
<span><tr>*.*
найдет все строки с вхождениями <span><tr>
все гениальное просто))

upd. был не прав.. каюсь. все не так просто.. регулярка найдет первый результат и успокоится.. сейчас в процессе поиска решения вопроса.. кто сталкивался - просьба помочь..
upd2.. и все же решил)))Match.NextMatch() - в msdn... циклом.. тогда читает текст до конца..
хоть сам пообщался - вдруг кому пригодится..)спасибо за внимание

Последний раз редактировалось catechumen; 21.09.2010 в 13:29.
catechumen вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
idhttp+регулярки bulldog5293 Работа с сетью в Delphi 8 25.07.2010 12:30
прога включающая в себя структуру,класс,массив (горю, выручайте) 9rki Помощь студентам 1 20.05.2010 15:32
Горю по Delphi! Passik Фриланс 6 17.03.2010 19:21
Друзья Горю Умелец Помощь студентам 4 26.03.2007 04:56