Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Вероятность символов
 
 автор: BAHO   (21.03.2006 в 16:25)   письмо автору
 
 

Есть рег.выражение:

<?
 $gg
=preg_replace("/$arr[$i](\w+)[\s]/isU"," <b>$a\\1</b> ",$gg);
?>

есть слово "школа", соответсвующее переменной $a. автоматом убирается окончание в слове(уже сделано)

Так вот, если переменной будет соответствовать значение "школе" или "школьный" или "школьник", то рег.выражение с радостью обработает...
но если переменной будет соответствовать значение "предшкольный", то всё стопорится и не обрабатывается приставка "пред". я пробовал поставить спереди рег.выр-я что-то вроде [\s](\w+), то не обрабатываются слова, где нет приставок...
задача: нужно, чтобы рег.выражение соответствовало словам, у которых может быть приставка и не может быть её, т.е. слова "школьный" и "дошкольный" обрабатывались одинаково, иначе говоря была предусмотрена вероятность существования и несуществования приставки относительно слова "школа" в данном примере.

   
 
 автор: BAHO   (21.03.2006 в 16:31)   письмо автору
 
   для: BAHO   (21.03.2006 в 16:25)
 

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

   
 
 автор: kasmanaft   (21.03.2006 в 20:13)   письмо автору
 
   для: BAHO   (21.03.2006 в 16:31)
 

насчет книжки точно сказать не могу, где взять, но могу посоветовать посмотреть здесь:
http://forum.vingrad.ru/index.php?showtopic=34297 - там мноооого всего :))

и насчер выражения:
попробуй сделать как ты уже делал только после w поставь звездочку :) [\s](\w*)
+ - чтобы приставка была хотя бы один раз
* - ноль и более
? - ноль или один раз
(буквы скорее всего в данном примере, а не сама приставка)

   
 
 автор: cheops   (22.03.2006 в 00:12)   письмо автору
 
   для: BAHO   (21.03.2006 в 16:31)
 

В качестве книги можно посоветовать Регулярные выражения (Дж. Фридл.) - лучшее что есть на сегоняшний момент. Регулярные выражения - это не придаток - это независимый мини-язык, который следует изучать с той же серьёзностью, что и основной язык.

   
 
 автор: BAHO   (22.03.2006 в 12:20)   письмо автору
 
   для: cheops   (22.03.2006 в 00:12)
 

:)))))))))))))))

уважаемый cheops! в одной из предыдущих моих тем вы также ответили мне про енту книгу, а в первом посе\те я именно её и имел в виду :)))))

вопрос теперь такой (а то что-то со звёздочкой есть небольшие проблемы)....
как сделать так, чтобы жирным виделилось всё слово, в которое входит например слово "школ" (енто слово "школа" без окончания). но при этом надо учитывать, что регистр букв в оригинального слова не должен меняться (если были большие буквы, пусть большие и останутся) и что у слова может быть как приставка, так и окончание (надо предусмотерть все случаи), но при этом сразу после слова может стоять любой знак препинания, будь то точка или ещё что нить, плюс кавычки всякие, а перед словом может также находится кавычки или знаки препинания, но при этом енто слово может стоять в начале текста, так что спереди слова может быть просто пустота... аналогично и с концом текста....

   
 
 автор: Trianon   (22.03.2006 в 12:26)   письмо автору
 
   для: BAHO   (22.03.2006 в 12:20)
 

Простите, а чем Вам не нравится Фридл?

   
 
 автор: BAHO   (22.03.2006 в 20:38)   письмо автору
 
   для: Trianon   (22.03.2006 в 12:26)
 

ни чем, я говорю, что просто сейчас не могу приобрести данную книгу. а вебмани средств пока маловато

   
 
 автор: Trianon   (22.03.2006 в 20:50)   письмо автору
 
   для: BAHO   (22.03.2006 в 20:38)
 

Дж.Фридл
WinDjView (то чем смотреть)

   
 
 автор: cheops   (22.03.2006 в 13:41)   письмо автору
 
   для: BAHO   (22.03.2006 в 12:20)
 

Хм... попробуйте вот так
<? 
$gg
=preg_replace("/([\w]+)$arr[$i](\w+)[\s]/isU"," <b>\\1$a\\2</b> ",$gg); 
?>

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования