![]() |
|
Модераторы: LSD |
![]()
|
|
| Самозванка |
|
||||||
![]() Девушка в стиле IT ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 484 Регистрация: 5.9.2006 Где: USA |
Думала думала где тему создать, но лучшего раздела не нашла. помогите с регулярным выражением плиз.
Есть:
или
Регулярным выражением надо получать всегда вот это
То есть как мне избежать буквы и пробелы те, которые есть между ними, если они есть. ЗЫю Сделайте мне подарок на 8 марта) помогите)) |
||||||
|
|||||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант |
в Php есть
Добавлено @ 10:42 Вот тебе выражение:
Добавлено @ 10:42 С праздником!!!!! Нескучных тебе тех. заданий |
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте |
Ну так еще бы: посещаемость-то бешеная
Если я правильно понял вопрос, то никак. Регулярное выражение поможет тебе извлечь подстроку из строки по заданным параметрам или, скажем, найти строку, содержащую определенную подстроку, а ты хочешь с его помощью извлекать подстроку, которой по сути дела нет в строке. Тебе надо <span и type="grid" извлекать по отдельности, а потом уже программно объединять строки. То есть имя тега можно извлечь как-то так <\S+, а атрибут так type="[^"]*" и объединить потом. -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| Самозванка |
|
|||
![]() Девушка в стиле IT ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 484 Регистрация: 5.9.2006 Где: USA |
спасибо
|
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin |
Есть подозрение, что тут бы хорошо подошел бы XPath
Добавлено через 1 минуту и 2 секунды А в штатах не отмечается международный женский день? -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант |
diadiavova прав
я недочитав, поспешил Тебе нужно по отдельно искать подстроки, а потом склеивать их. Можно попробовать использовать replace в регулярных выражениях, чтобы вот эту часть id="blabalbla" rrr="kuku" можно было удалять |
|||
|
||||
| Самозванка |
|
|||
![]() Девушка в стиле IT ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 484 Регистрация: 5.9.2006 Где: USA |
Мне просто хотелось исправить чутка существующий код, не перелопачивая всё. Но походу легким испугом тут не отделаешься)) 8 марта не отмечается, но русские коллеги поздравили меня вчера букетом роз красивеньким)) (см. Твиттер) и тортом вкусным превкусным) |
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте |
Средствами xslt подобные задачи решаются элементарно. Тоже мне новость -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 |
так-то вообще регекспом можно и реплейснуть
-------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте |
Ну ты же понимаешь, что пример, приведенный ТС - иллюстративный. А в реальном примере, возможно и сохранить придется несколько больше атрибутов и количество и имена удаляемых может варьироваться и порядок следования тоже может быть разным. В таких условиях реплейс может оказаться куда более громоздким решением, поскольку придется как-то указать какие именно атрибуты удалять и удалять возможно придется по одному, поскольку они вполне могут быть перемешаны с нужными. Я ведь сказал на случай, если выходная строка содержит данные из исходной и данные эти заранее неизвестны( ну к примеру известно имя атрибута, но неизвестно значение), а ты говоришь о случае, когда строка замены всегда одинакова. -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 |
Да, в общем случае - да. Но тут ведь вполне может быть и очень даже частный случай. Я так понимаю цель лишь упорядочить атрибуты. В шаблоне замены могут быть использованы значения патернов, найденных регекспом. Оракля их замещает через косую палку. Жава - через доллар. Как там у вас вдоднете - я хз, но думаю, доднет тут не отстанет
К тому же, я так понимаю, тут HTML, в общем случае, очень даже не well formed XML и xsl трасформатор его не сожрет. Или сейчас трансформаторы уже научились на вход брать всякий треш(с точки зрения XML)? Если таки нет, всяко придется париться регескпами. Это сообщение отредактировал(а) Zloxa - 11.3.2012, 14:32 -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| Shaggie |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 570 Регистрация: 21.12.2006 Где: outer space |
Вы чего?
Регулярное выражение конкретно задачу из первого поста решает влёт. Только оно сформулировано странновато, поэтому пусть будет сразу два решения, на всякий случай. Находим все спаны, в которых есть элемент "type" и вырезаем из них остальные элементы
Находим все спаны с "type" "grid" и вырезаем из них остальные элементы
Что-то вроде того. Регулярки в данном случае не идеальное, но вполне работающее решение Можно вынести отдельные куски регулярок в переменные и склеивать в разном порядке. На выходе будет что-то напоминающее несложную грамматику. Хотя вообще это уже задача для отдельного инструмента. |
||||
|
|||||
| diadiavova |
|
||||||||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте |
А я понял, что цель - удалить все лишнее. Ну сформулирована задача, конечно, непонятно, но, тем не менее, кое-что можно все-таки и из этой формулировки извлечь. Изначально ведь не было вопроса как в некоем документе найти все спаны и заменить их спаном конкретного вида. Задача формулировалась так, что первоначально есть строка, содержащая именно текст открывающего тега, то я так понимаю, сам тег уже найден. Если бы его нужно было заменить конкретной строкой, то регулярка тут вообще никаким боком. А уж коль скоро вопрос был о регулярке, то и вывод отсюда такой, что из исходной строки надо извлечь какие-то данные и использовать их в строке результата. Разве нет? И потом, зачем нужно упорядочивать атрибуты? Что хмл, что в хтмл порядок их следования на смысл элемента никак не влияет.
Смотря чем пользоваться, я не знаю на чем это делает Самозванка, но вообще существуют библиотеки, которые парсят хтмл в вид пригодный для трансформации(например в хмл), я собственно об этом говорил.
Ну да, это вариант
-------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
||||||||
|
|||||||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 |
А я бы сказал, что очень даже мило. Гляньте как мальчики все попересрались промежсобою. -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin |
Пришел гуру регулярок и всех утер Ты с ними поосторожней, у них явно есть коварные планы насчет твоей фигуры -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант |
||||
|
||||
| Lim4 |
|
|||
![]() Не под ковром ![]() Профиль Группа: Участник Сообщений: 66 Регистрация: 4.7.2008 |
||||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант |
Lim4, так это Самозванка просто хотело их стандарты переоформить и установить свои
|
|||
|
||||
![]()
|
| Правила раздела «Флейм» | |
|
|
Добро пожаловать в «Флейм». В разделе не действуют многие правила:
Строго запрещено:
Напоминаем о существовании волшебной кнопочки "Репорт". Если вы увидели сообщение, несовместимое с жизнью, просьба подвести на нее курсор и клацнуть левой клавишей мышки. Тем самым вы сможете призвать злого, но жутко справедливого джина-модератора, который нашлет порчу на злостного нарушителя. Кстати - счётчик сообщений здесь не растёт. Глас Винграда:
Глас Философии:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Sneg0k |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Флейм | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |