информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Атака на InternetSpanning Tree Protocol: недокументированное применение
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Линуксовый ботнет, распространяющийся... 
 Конец поддержки Internet Explorer 
 Рекордное число уязвимостей в 2021 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[Perl] m//l не катит 15.11.06 14:30   [kstati]
Автор: exed Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Нужно искать совпадения в строках, не учитывая регистра. Мой пёрл не берёт m с параметрами. Что-то я не понимаю.
[Perl] А что это за параметр такой 'l'? Вроде insensitive всегда была 'i' 15.11.06 16:44  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
однако кириллица не катит.. чё-ж с ним делать-то? 16.11.06 18:10  
Автор: exed Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Прописывать в классе напрямую: [А-я] (для Win-1251 - это сильно зависит от кодировки, в KOI оно будет вообще [ю-Ъ]) 16.11.06 20:41  
Автор: Heller <Heller> Статус: Elderman
<"чистая" ссылка>
Несколько кодировок нужно юзать.. А про класс я вообще не понял. 17.11.06 01:30  
Автор: exed Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Re 17.11.06 16:15  
Автор: Heller <Heller> Статус: Elderman
<"чистая" ссылка>
В регулярках можно использовать так называемые классы:

$temp=~/a[bd]c/

Такому регулярному выражению будет соответствовать и abc и adc. То есть класс - это набор символов в одном. С ними можно использовать стандартные квантификаторы:

$temp=~/a[bd]*c/

В шаблоне вначале идет a, затем любое количество b или d, и в конце c.

В классах можно использовать диапазоны: [a-z] - это все символы от a до z. Допустим, поиск первого слова можно мделать так:

$temp=~/[a-z]+/

Если хотим нечувствительности к регистру, то можно сделать так:

$temp=~/[a-zA-Z]+/

При этом диапазон задается на самом деле не в алфавитном порядке, а как границы кодов.

Посмотри на таблицу для KOI8-R: http://en.wikipedia.org/wiki/KOI8-R
А теперь на отрывок, который я уже приводил:

$temp=~/[ю-Ъ]+/

Смысл думаю должен теперь стать понятным.

В кодировке же Win-1251 (http://en.wikipedia.org/wiki/Windows-1251) все буквы идут подряд и поэтому мы можем написать [А-я]. Для латиницы такое не прошлобы, так как между A и z находятся еще ряд символов ([, ], ^, `, \, _, хотя последний обычно считается за букву; смотри на счет значений символов таблицы). Поэтому для латиницы [A-z] будет не верно, а надо указывать два диапазона [a-zA-Z].

Ну, вроде подробно раписал.
thanx стопудоф. скан кукбука нечёткий (: 16.11.06 17:36  
Автор: exed Статус: Незарегистрированный пользователь
<"чистая" ссылка>
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2022 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach