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

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

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

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

HTML5
1
Исполнитель:</td><td><a href="/abc/artist/3608/">Макаревич</a></td>
мне нужно написать регулярное выражение, для того чтобы спарсить исполнителя (слова между тэгами /"> и </a></td>)

http://www.cyberforum.ru/csharp-beginners/thread382270.html

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.07.2011, 20:00
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Помогите написать регулярное выражение (C#):

Помогите составить регулярное выражение для 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
Шаровик затейник
679 / 428 / 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
Шаровик затейник
679 / 428 / 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
Миниатюры
Помогите написать регулярное выражение  
Петррр
6154 / 3454 / 896
Регистрация: 28.10.2010
Сообщений: 5,926
02.08.2011, 12:07 #6
Помогите написать регулярное выражение
1
Crudelis
Шаровик затейник
679 / 428 / 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 *...

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

Написать регулярное выражение для поиска парных скобок
помогите написать регулярное выражение для поиска парных скобок

Написать регулярное выражение, которое соответствует формату dd.mm.yyyy
Помогите написать регулярное выражение, которое соответствует формату...


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

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

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