Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Регулярное выражение

Ответить
Настройки темы
Регулярное выражение

Аватара для benya

Старожил


Сообщения: 302
Благодарности: 5

Профиль | Сайт | Отправить PM | Цитировать


Господа, как написать регулярное выражение которое вырезает первых 2 символа или один в зависимости от длины строки. Нужно проверить только 2 условия на 6 и 5 цифр.
Например, имеем число: 25000
Если число имеет 6 цифр, оставляем только первых 2, тоесть 25
Если же число имеет 5 цифр, оставляем только одно. Тоесть 2
Можно ли задать такое регулярным выражением??
Не хотелось бы писать всякие if-then-else....

Отправлено: 14:13, 16-08-2005

 

Аватара для benya

Старожил


Сообщения: 302
Благодарности: 5

Профиль | Сайт | Отправить PM | Цитировать


Мда, только вот пишу я не на php, а на Perl, а там такой функции видимо нет )

Отправлено: 11:07, 18-08-2005 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для slaine

Ветеран


Сообщения: 675
Благодарности: 8

Профиль | Отправить PM | Цитировать


F как мне игнорировать больше одного тега <BR>?
Если нужно, чтобы пустые строки нешли подряд больше одного раза.
типа вот так:
asd





ads

-------
живодёр - практик


Отправлено: 13:25, 18-08-2005 | #12


Аватара для Prisoner

Engrossed by the Void


Сообщения: 2229
Благодарности: 60

Профиль | Отправить PM | Цитировать


Можно так:
PHP код: Выделить весь код

$result preg_replace('/(?:\s*<br>\s*){2,}/i''<br>'$subject); 


С учетом, что в последовательности <br> могут быть пробельные символы и регистронезависимости.

-------
Не могу дать более дельный совет - не хватает системных ресурсов...


Отправлено: 16:39, 18-08-2005 | #13


Аватара для slaine

Ветеран


Сообщения: 675
Благодарности: 8

Профиль | Отправить PM | Цитировать


Круто..
Надо мне всё-таки подучить регулярные выражения.

-------
живодёр - практик


Отправлено: 16:57, 18-08-2005 | #14


Аватара для vadimiron

Ветеран


Сообщения: 1864
Благодарности: 120

Профиль | Отправить PM | Цитировать


Цитата:
Можно так:

PHP код:
$result = preg_replace('/(?:\s*<br>\s*){2,}/i', '<br>', $subject);
slaine
Здесь тоже не обязательно пользоваться регулярками. Когда точно известен набор букв, которые мы хотим заменить. то лучше пользоваться стринг-функциями ПХП, БЫСТРЕЙ будет.
Например:mixed str_replace ( mixed search, mixed replace, mixed subject )

Регулярки нужны, когда мы не знаем, как выглядит строка, например имеется информация только о том, что в строке сначало идут 3 цифры, а потом бесконечное число букв и пробелов, в этом случае без регулярных выражений не обойтись.

К модерам: может сделаем прикреплённую тему по регуляркам, у меня будет время в середине августа, я смогу небольшой мануал накатать???

-------
Fortes fortuna adiuvat


Отправлено: 17:30, 18-08-2005 | #15


Аватара для slaine

Ветеран


Сообщения: 675
Благодарности: 8

Профиль | Отправить PM | Цитировать


Цитата:
Здесь тоже не обязательно пользоваться регулярками. Когда точно известен набор букв, которые мы хотим заменить. то лучше пользоваться стринг-функциями ПХП, БЫСТРЕЙ будет.
Например:mixed str_replace ( mixed search, mixed replace, mixed subject )
vadimiron
И как в моём случае это будет выглядеть?

-------
живодёр - практик


Отправлено: 18:28, 18-08-2005 | #16


Аватара для Prisoner

Engrossed by the Void


Сообщения: 2229
Благодарности: 60

Профиль | Отправить PM | Цитировать


vadimiron
Я тоже помню эту цитату по производительности из мануала . На вскидку фигура "str_replace" в мозговом тетрисе никуда не вляпалась... И все только из-за всяких возможных гадостей между br'ками

-------
Не могу дать более дельный совет - не хватает системных ресурсов...


Отправлено: 18:45, 18-08-2005 | #17


Аватара для vadimiron

Ветеран


Сообщения: 1864
Благодарности: 120

Профиль | Отправить PM | Цитировать


slaine, Prisoner
Правильно, моя ошибка, так как мы вырезаем только те <br>, которые друг за другом идут. А если между ними есть текст, то не вырезаем-это как раз случай для регулярных выражений

-------
Fortes fortuna adiuvat


Отправлено: 13:02, 19-08-2005 | #18


Новый участник


Сообщения: 49
Благодарности: 0

Профиль | Сайт | Отправить PM | Цитировать


при помощи какого js регулярного выражения в тексте можно найти всё, кроме определенной последовательности символов?

Допустим var regExp=/word/g; найдет только слово "word", а как можно найти все остальное, кроме слова "word"?
Например var regExp=/[^word]/g; найдет все символы в тексте, кроме символов 'w' 'o' 'r' 'd', а можно ли каким-либо образом указать, чтобы "word" в квадратных скобках интерпретировалась не как любая последовательность символов 'w' 'o' 'r' 'd', а как строгая последовательность 'word'? Спасибо

Отправлено: 18:00, 22-08-2005 | #19


Аватара для Prisoner

Engrossed by the Void


Сообщения: 2229
Благодарности: 60

Профиль | Отправить PM | Цитировать


Имхо, тут как раз не стоит применять регулярки. Бить по словам и циклом, циклом!

-------
Не могу дать более дельный совет - не хватает системных ресурсов...


Отправлено: 18:35, 22-08-2005 | #20



Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Регулярное выражение

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Регулярное выражение: вырезать данные между тегами 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
как быстрее и менее ресурсоемкей создать регулярное выражение E-mail Вебмастеру 3 13-02-2005 11:24




 
Переход