|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Delphi - Составить регулярное выражение Delphi > TRegExpr |
|
Delphi - Составить регулярное выражение Delphi > TRegExpr
|
Новый участник Сообщения: 6 |
Профиль | Отправить PM | Цитировать День добрый!
Как правильно составить регулярное выражение чтобы получить из следующих строк кодировку UTF-8 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta charset="UTF-8" /> <meta charset="UTF-8"> <meta http-equiv="Content-Type" charset=UTF-8" /> используется Delphi > TRegExpr спасибо! |
|
Отправлено: 04:30, 18-03-2015 |
Ветеран Сообщения: 1404
|
Профиль | Отправить PM | Цитировать Документация на странице http://regexpstudio.com/TRegExpr/Help/About.html
Для замены подстроки или символа на другой символ используется метод класса Substitute. Кодовая таблица для кодировки UTF-8 : http://www.unicodetools.com/unicode/codepage-utf8.php Вам нужно перекодировать UTF-8 в ASCII или ASCII в UTF-8 ? Для встречающихся в данных строках символов ASCII и UTF-8 тождественны, т.е. перекодировка может не требоваться. |
------- Отправлено: 07:18, 18-03-2015 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 6
|
Профиль | Отправить PM | Цитировать нужно спарсить с произвольной html страницы установленную в её метатегах кодировку
один из вариантов: Expression:= '<meta(.*)charset=(.*)"(\s*/?)>'; но он работает до тех пор пока в 1 строка = 1 метатег. т.е. если строки склеены то работает некорректно, например <meta name="KEYWORDS" content="фото объектов с мягкой черепицей, страница 2, Москва, Shinglas" /><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></meta><meta name="DESCRIPTION" content="В данном разделе сайта компании представлены фото объектов с мягкой черепицей Shinglas, страница 2." /></meta> |
Отправлено: 09:30, 18-03-2015 | #3 |
Ветеран Сообщения: 1404
|
Профиль | Отправить PM | Цитировать Попробуйте регулярку такого вида
Вроде бы достаточно такой регулярки в том случае, если на всей странице один charset. Работает или нет, проверял в программе на Perl $str="<meta name=\"KEYWORDS\" content=\"фото объектов с мягкой черепицей, страница 2, Москва, Shinglas\" \/><meta http-equiv= \"Content-Type\" content=\"text\/html; charset=utf-8\"><\/meta><meta name=\"DESCRIPTION\" content=\"В данном разделе сайта компании представлены фото объектов с мягкой черепицей Shinglas, страница 2.\" \/><\/meta>"; print $str; $str =~ /(<meta?).*?charset=(.*?)\"/; $d = $2; print "\n"; print $d; |
------- Отправлено: 11:06, 18-03-2015 | #4 |
Новый участник Сообщения: 6
|
Профиль | Отправить PM | Цитировать спасибо!
а можно составить одну регулярку так чтобы бралось значение TITLE из следующих вариантов строк: <TITLE>НАЗВАНИЕ</TITLE> <meta name="title" content="НАЗВАНИЕ"> |
|
Отправлено: 12:26, 18-03-2015 | #5 |
Ветеран Сообщения: 1404
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 12:45, 18-03-2015 | #6 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
.NET - Регулярное выражение | LilLoco | Программирование и базы данных | 19 | 04-05-2016 09:36 | |
Разное - Помогите составить регулярное выражение по разбору функции | morebeauty | Программирование и базы данных | 1 | 20-08-2014 08:37 | |
Debian/Ubuntu - grep регулярное выражение | Forpost | Общий по Linux | 3 | 25-05-2012 00:50 | |
Регулярное выражение | venuko | Вебмастеру | 11 | 02-08-2010 18:18 | |
Регулярное выражение | benya | Вебмастеру | 27 | 26-08-2005 14:34 |
|