На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: ALXR
  
    > PERL: маски , Нужно проверить строку на латиницу
      Вообчим есть строка. Если в ней присутствуют любые символы с латиницей - выполнить условие. Если только латиница, то не надо.


      Вот что у меня получилось, но не работает так как надо:
      if ($mf=~/^[a-zA-Z]+$/)

      помогите!
        ExpandedWrap disabled
          if($str!~/\W/o)
          {
          #Если строка (НЕ (содержит НЕ латинские буквы или цифры или знак '_'))
          }
          else
          {
          #Если строка (содержит НЕ латинские буквы или цифры или знак '_')
          }


        Чтобы исключить цифры и знак '_' нужно:
        ExpandedWrap disabled
          if($str!~/[a-z]/io)
          {
          #Если строка содержит только латинские буквы a-z без учёта регистра
          }
          else
          {
          #Обратный вариант
          }


        Рекомендую в таких случаях использовать именно такую формулировку, чтобы определить содержание ТОЛЬКО ИСКЛЮЧИТЕЛЬНО ЗАДАННЫХ символов:
        ExpandedWrap disabled
          unless($str!~/[что_нибудь]/o)


        Дело в том, чтобы проверить строку так:
        ExpandedWrap disabled
          if($str=~/^[^что_нибудь]+$/o)
        нужно просмотреть всю строку.
        В случае:
        ExpandedWrap disabled
          unless($str!~/[что_нибудь]/o)
        придётся анализировать строку только до первого встретившегося "не подходящего" символа.
        0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
        0 пользователей:


        Рейтинг@Mail.ru
        [ Script execution time: 0,0176 ]   [ 15 queries used ]   [ Generated: 27.04.24, 05:25 GMT ]