Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Регулярные выражения, Чой-то туплю, или кто лучше придумает... 
:(
    Опции темы
marlen
Дата 11.8.2003, 20:13 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Проблема вот в чём, у меня есть файл, в котором встречаются следующие выражения Мама, мама и МАМА. Мне нужно их все
оттуда вытащить, это не помогает:
##############################
print if /мама/i;
##############################
Спасибо.
  Вверх
MuToGeN
Дата 11.8.2003, 21:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лесник
****


Профиль
Группа: Модератор
Сообщений: 4379
Регистрация: 15.8.2002
Где: Москва

Репутация: нет
Всего: 32



/[Мм][Аа][Мм][Аа]/
но, чувствую, это не лучший вариант...


--------------------
Three pings for the token rings,
Five pings for the UNIX machines,
Hundred pings for the broken links,
One special ping to check them all
Through Simple Network Management Protocol!
PM MAIL ICQ   Вверх
HalkaR
Дата 11.8.2003, 21:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пуфыстый назгул
****


Профиль
Группа: Экс. модератор
Сообщений: 2132
Регистрация: 8.12.2002
Где: В Москве

Репутация: нет
Всего: 42



Скорее всего проблема в руской кодировке.
PM MAIL   Вверх
marlen
Дата 11.8.2003, 21:50 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Снова я, извини я не правильно обьяснил, имеется в виду разный регистр букв, и не обязательно это слово например: print if /$var/i;
  Вверх
HalkaR
Дата 12.8.2003, 10:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пуфыстый назгул
****


Профиль
Группа: Экс. модератор
Сообщений: 2132
Регистрация: 8.12.2002
Где: В Москве

Репутация: нет
Всего: 42



Странно, что не работает, должно работать, может полностью исходник дашь, чтобы мы посмотрели?
PM MAIL   Вверх
marlen
Дата 14.8.2003, 06:52 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











#!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"&nbsp&nbsp&nbsp&nbsp";
print;
print"<BR>";
}
close(JK);
unlink("../cgi-bin/test.htm");

  Вверх
Wowa
Дата 14.8.2003, 10:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: нет
Всего: 290



попробуй перевести все в нижний регистр smile.gif
PM WWW   Вверх
marlen
Дата 17.8.2003, 16:36 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Сложный пока для меня процесс, в полутора тысячном(строк) прайсе поменять регистр некоторых слов, пока не получается, но нашел другой
выход посоветуйте будет-ли работать.
###############################################
<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 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пуфыстый назгул
****


Профиль
Группа: Экс. модератор
Сообщений: 2132
Регистрация: 8.12.2002
Где: В Москве

Репутация: нет
Всего: 42



Твоя проблема не в поиске, а втом, что при передаче строки поиска скрипту русский текст перкодируется и в перменной $gg лежит уже не русски теск, а его коды. Поэтому ессно ничего не находится.

Хотя параметр i действительно не работает для русского теста - это факт.

Но неработающий i можно исправить. Под Вынь надо добавть строки
Код
use locale;
use POSIX qw (locale_h);
setlocale(LC_CTYPE, "Russian_Russia.1251");
Под Юникс
Код
use locale;
use POSIX qw (locale_h);
setlocale(LC_CTYPE, 'ru_RU.KOI8-R');

PM MAIL   Вверх
marlen
Дата 18.8.2003, 21:12 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Серьёзный ответ, спасибо, а то уже ещё назрел вопрос, а ты опередил,
smile.gif всё равно спрошу, про локали читал, но что в Винде его надо
использовать,sad.gif автор меня подвёл. Вопрос:
Если потом грузить скрипт на сервак, то чо надо потом менять на код под
Unix?
  Вверх
HalkaR
Дата 18.8.2003, 21:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пуфыстый назгул
****


Профиль
Группа: Экс. модератор
Сообщений: 2132
Регистрация: 8.12.2002
Где: В Москве

Репутация: нет
Всего: 42



Я проверял только под Вынь - там действительно с добавлением этих строк все заработало. Вероятнее всего изменять строки всетаки надо. Хотя коль скоро данные скрипту пердаются, а не считываются из файла утыерждать этого со всей уверенностью не могу.
PM MAIL   Вверх
marlen
Дата 22.8.2003, 22:57 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Пашет всё.
Thanks:)
  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl: CGI программирование"
korob2001
sharq
  • В этом разделе обсуждаются вопросы относящиеся только к CGI программированию
  • Если ваш вопрос не относится к системному или CGI программированию, задавайте его в общем разделе
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", качать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: разработка для Web | Следующая тема »


 




[ Время генерации скрипта: 0.0525 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.