| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: разработка для Web > Регулярные выражения |
| Автор: marlen 11.8.2003, 20:13 |
| Проблема вот в чём, у меня есть файл, в котором встречаются следующие выражения Мама, мама и МАМА. Мне нужно их все оттуда вытащить, это не помогает: ############################## print if /мама/i; ############################## Спасибо. |
| Автор: MuToGeN 11.8.2003, 21:15 |
| /[Мм][Аа][Мм][Аа]/ но, чувствую, это не лучший вариант... |
| Автор: HalkaR 11.8.2003, 21:33 |
| Скорее всего проблема в руской кодировке. |
| Автор: marlen 11.8.2003, 21:50 |
| Снова я, извини я не правильно обьяснил, имеется в виду разный регистр букв, и не обязательно это слово например: print if /$var/i; |
| Автор: HalkaR 12.8.2003, 10:05 |
| Странно, что не работает, должно работать, может полностью исходник дашь, чтобы мы посмотрели? |
| Автор: marlen 14.8.2003, 06:52 |
| #!C:/Perl/bin/perl use CGI qw(param); my $gg=param("query"); print"Content-Type: text/html; charset: windows-1251\n\n"; open(HJ,"<../site/Price.htm")|| die "ERORR!!!\n"; open(JK,">>../cgi-bin/test.htm")|| die "ERORR!!!\n"; while(<HJ>){ print JK if /$gg/i; } close(HJ); close(JK); open(JK,"<../cgi-bin/test.htm")|| die "ERORR!!!\n"; while(<JK>){ print"    "; print; print"<BR>"; } close(JK); unlink("../cgi-bin/test.htm"); |
| Автор: Wowa 14.8.2003, 10:42 |
| попробуй перевести все в нижний регистр |
| Автор: marlen 17.8.2003, 16:36 |
| Сложный пока для меня процесс, в полутора тысячном(строк) прайсе поменять регистр некоторых слов, пока не получается, но нашел другой выход посоветуйте будет-ли работать. ############################################### <a href="http://localhost/cgi-bin/env.pl?query=Водка|ВОДКА|водка"> <font size="1" face="Arial" color="#800000"><b><li>Водка</b></font> </a> ############################################### Спасибо. |
| Автор: HalkaR 18.8.2003, 17:05 | ||||
| Твоя проблема не в поиске, а втом, что при передаче строки поиска скрипту русский текст перкодируется и в перменной $gg лежит уже не русски теск, а его коды. Поэтому ессно ничего не находится. Хотя параметр i действительно не работает для русского теста - это факт. Но неработающий i можно исправить. Под Вынь надо добавть строки
|
| Автор: marlen 18.8.2003, 21:12 |
| Серьёзный ответ, спасибо, а то уже ещё назрел вопрос, а ты опередил, использовать, Если потом грузить скрипт на сервак, то чо надо потом менять на код под Unix? |
| Автор: HalkaR 18.8.2003, 21:37 |
| Я проверял только под Вынь - там действительно с добавлением этих строк все заработало. Вероятнее всего изменять строки всетаки надо. Хотя коль скоро данные скрипту пердаются, а не считываются из файла утыерждать этого со всей уверенностью не могу. |
| Автор: marlen 22.8.2003, 22:57 |
| Пашет всё. Thanks:) |