|
Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Регулярное выражение |
|
|
Регулярное выражение
|
Старожил Сообщения: 302 |
Профиль | Сайт | Отправить PM | Цитировать Господа, как написать регулярное выражение которое вырезает первых 2 символа или один в зависимости от длины строки. Нужно проверить только 2 условия на 6 и 5 цифр.
Например, имеем число: 25000 Если число имеет 6 цифр, оставляем только первых 2, тоесть 25 Если же число имеет 5 цифр, оставляем только одно. Тоесть 2 Можно ли задать такое регулярным выражением?? Не хотелось бы писать всякие if-then-else.... |
|
Отправлено: 14:13, 16-08-2005 |
Новый участник Сообщения: 49
|
Профиль | Сайт | Отправить PM | Цитировать я знаю, но тут мне эта инфа нужна не для конкретной цели, а так, для общего развития Если знаете, подскажите плиз
|
Отправлено: 20:36, 22-08-2005 | #21 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Engrossed by the Void Сообщения: 2229
|
Профиль | Отправить PM | Цитировать В том-то и дело, что не ведаю . Проблема в работе класса - посимвольно он работает, не со словами.
|
------- Отправлено: 10:59, 23-08-2005 | #22 |
Новый участник Сообщения: 49
|
Профиль | Сайт | Отправить PM | Цитировать если б в [^abcd] можно было б указать, что это не беспорядочная последовательность символов, а конкретная, проблем бы не было.
или в простом /abcd/ поставить отрицание, но как? |
Отправлено: 12:06, 23-08-2005 | #23 |
Новый участник Сообщения: 49
|
Профиль | Сайт | Отправить PM | Цитировать ладно, легче ориентироваться на конкретных примерах: пусть надо удалить из текста все теги. Регулярное выражение будет такое:
/<[^>]*>/gi; А вот как справиться с такой задачей, если надо удалить все теги, кроме ссылок? т.е. кроме тегов <a href> и </a>? Можно исключить букву 'a' в квадратных скобках: /<[^a>]*>/gi; но тогда не будут удаляться все теги, где встретится буква 'a', например <font color=blAck> не удалится, а надо, чтоб удалился. Может создать выражение, которое не будет трогать только теги, начинающиеся с '<a ' и '</a ', а остальные все удалять? Но как такое сделать, я не знаю. Не хватает в голове чего-то. Не поможете мне справиться с такой задачей? Спасибо! |
Отправлено: 00:55, 24-08-2005 | #24 |
редкий гость Сообщения: 1696
|
Профиль | Сайт | Отправить PM | Цитировать Как вариант - предварительно выбирать все теги. А потом уже отдельным регэкспом проверять дозволенный это тег или нет. Если пишется на перле, то надо обратить внимание на модификтор 'e' для регэкспов.
Выглядеть это будет примернол так: $text = q~ <p align="left"><a href="link">Link?</a></p> ~; $text =~ s/(<.*?>)/change_tag($1)/eg; print $text; sub change_tag { $tag = $_ = shift; # открывающий a - можно return $tag if (/<\s*(a|a\s+.*?)>/i); # закрывающий a - можно return $tag if (/<\s*\/\s*a\s*>/i); # всё остальное - нельзя return ""; } Самый правильный метод, применим в случае если имеется валидный xhtml, тогда можно произвести довольно банально xslt преобразование. Вот. |
------- Отправлено: 18:08, 25-08-2005 | #25 |
Новый участник Сообщения: 49
|
Профиль | Сайт | Отправить PM | Цитировать ой, блин, а это на перле? А как бы его переделать в javascript? Если это работает, то подойдет для большинства случаев, а <a href="javascript:if(a<b)call_comething_strange();"> не думаю, что такое будет часто встречаться
Спасибо! |
Отправлено: 11:53, 26-08-2005 | #26 |
редкий гость Сообщения: 1696
|
Профиль | Сайт | Отправить PM | Цитировать гм... на jsavascript так не получится, его регэкспы понимают только модификаторы g, m и i...
|
------- Отправлено: 14:02, 26-08-2005 | #27 |
Новый участник Сообщения: 49
|
Профиль | Сайт | Отправить PM | Цитировать да, жалько, очень жалко
|
Отправлено: 14:34, 26-08-2005 | #28 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Регулярное выражение: вырезать данные между тегами | venuko | Вебмастеру | 6 | 04-06-2009 16:59 | |
Регулярное выражение - вырезать все кроме указанных в масиве слов | venuko | Вебмастеру | 14 | 30-01-2009 09:51 | |
Регулярное выражение для проверки денежной суммы | BuilderMan | Вебмастеру | 9 | 23-08-2006 11:24 | |
регулярное выражение на пхп. | Drem | Вебмастеру | 13 | 22-07-2006 00:16 | |
как быстрее и менее ресурсоемкей создать регулярное выражение | Вебмастеру | 3 | 13-02-2005 11:24 |
|