Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
steve09
1 / 1 / 6
Регистрация: 26.04.2009
Сообщений: 216
1

Помогите написать регулярное выражение

31.07.2011, 20:00. Просмотров 1360. Ответов 8
Метки нет (Все метки)

Есть вот такая строка :

HTML5
1
Исполнитель:</td><td><a href="/abc/artist/3608/">Макаревич</a></td>
мне нужно написать регулярное выражение, для того чтобы спарсить исполнителя (слова между тэгами /"> и </a></td>)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.07.2011, 20:00
Ответы с готовыми решениями:

Регулярное выражение..помогите написать
Программа делает подсветку исходного кода... хочу написать регулярку для...

Помогите составить регулярное выражение для SQL запроса
Помогите составить регулярное выражение. Найти &quot;test&quot;,перед которым должно идти...

Написать регулярное выражение
текст string s = &quot;Socket IP=124.168.21.4 Port= 213&quot; как получить значение...

Написать регулярное выражение
Добрый день. Ищу в строке два значения: Id и MessageId string patternId =...

Нужно написать регулярное выражение
Нужно написать регулярное выражение, для замены пунктов 1.2, 1.2.1, 1.2.2 и...

8
Crudelis
Шаровик затейник
681 / 430 / 78
Регистрация: 06.05.2010
Сообщений: 1,109
01.08.2011, 11:24 2
C#
1
string pattern="(?<=Исполнитель:.*)\D(?=</a)";
(?<=шаблон) Позитивный просмотр назад
(?=шаблон) Позитивный просмотр вперёд

Добавлено через 22 минуты
немного подправлю свой код:
C#
1
string pattern="(?<=Исполнитель:.*>)\D(?=</a)";
0
steve09
1 / 1 / 6
Регистрация: 26.04.2009
Сообщений: 216
01.08.2011, 11:36  [ТС] 3
Цитата Сообщение от Crudelis Посмотреть сообщение
C#
1
string pattern="(?<=Исполнитель:.*)\D(?=</a)";
(?<=шаблон) Позитивный просмотр назад
(?=шаблон) Позитивный просмотр вперёд

Добавлено через 22 минуты
немного подправлю свой код:
C#
1
string pattern="(?<=Исполнитель:.*>)\D(?=</a)";
Не совсем понимаю эту регулярку... В каком месте находится необходимый нам результат?
0
Crudelis
Шаровик затейник
681 / 430 / 78
Регистрация: 06.05.2010
Сообщений: 1,109
01.08.2011, 11:47 4
необходимый вам результат находится между (?<=Исполнитель:.*>) и вот этим (?=</a), только регулярку надо подправить, опять не доглядел что знак > в ней повторяется не один раз
C#
1
string pattern="(?<=Исполнитель:.*\">)\D(?=</a)";
1
steve09
1 / 1 / 6
Регистрация: 26.04.2009
Сообщений: 216
02.08.2011, 11:56  [ТС] 5
Как правильно написать, чтобы не возникало такой ошибки как на картинке... чтобы ковычки работали адекватно)

объясните пожалуйста
0
Миниатюры
Помогите написать регулярное выражение  
Петррр
6160 / 3461 / 897
Регистрация: 28.10.2010
Сообщений: 5,926
02.08.2011, 12:07 6
Помогите написать регулярное выражение
1
Crudelis
Шаровик затейник
681 / 430 / 78
Регистрация: 06.05.2010
Сообщений: 1,109
02.08.2011, 12:22 7
Цитата Сообщение от steve09 Посмотреть сообщение
Как правильно написать, чтобы не возникало такой ошибки как на картинке
не ставьте в начале @
1
steve09
1 / 1 / 6
Регистрация: 26.04.2009
Сообщений: 216
02.08.2011, 21:19  [ТС] 8
а как написать регулярное выражение, чтобы охватить и исполнителя и название песни и саму песню?

у меня есть два типа страниц:

1) http://www.pesni.ru/song/20240/
2) http://www.pesni.ru/song/2/

вообщем пробовал делать регулярку, чтобы спарсить все необходимые данные... исполнитель и название песни парсятся, а сама песня никак... Помогите, пожалуйста...
0
LabEG
0 / 0 / 0
Регистрация: 29.07.2013
Сообщений: 4
29.07.2013, 22:59 9
Ух никак не соображу как работают эти регулярные выражения. Помогите написать.
Задача: пользователь вводит число, и все неверные символы из него автоматом удаляются, и у пользователя тут же отрисовывается верное число.

На выходе должно получиться положительно число с двумя цифрами после запятой.
На входе: dfr.3456,5436fg4.45fg
На выходе: 3456.54

я пока только додумался как запятую поменять на точку, и удалить все буквы.
C#
1
2
3
        numForCheck = System.Text.RegularExpressions.Regex.Replace(numForCheck, ",", ".");
 
        numForCheck = System.Text.RegularExpressions.Regex.Replace(numForCheck, "[^0-9.]", string.Empty);
Но не могу додумать как удалить все символы после сотых. Заодно обработать ситуацию когда число начинается с точки, или две точки подряд, или точки идут через число..
0
29.07.2013, 22:59
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.07.2013, 22:59

Не получается написать регулярное выражение
Привет, помогите. Недавно начал разбираться с языком, но появилась проблемка....

Написать регулярное выражение на C# аналогичное SQL запросу
Помогите написать регулярное выражение на C# аналогичное SQL запросу: select *...

Написать регулярное выражение (для подсветки синтаксиса)
Собвственно пишу подсветку синтаксиса. Но использую регулялки. Как сделать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru