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

      нужно вытянуть
      три буквы, и число после тире (должно быть длины от 1 до 5 цифр)

      буквы причём могут быть только

      крд, кмп,крс,кмл.
      ExpandedWrap disabled
        string pattern = @"^43(К[МР][ЛCПД])-([0-9]+)$";


      не катит . появляются ненужные варианты.
      крл, например, и пр. и длину цифр так и не догнал как задавать.
      поможите кто чем может!
        ExpandedWrap disabled
          ^43(крд|кмп|крс|кмл)\-(\d{1,5})$
          (крд|кмп|крс|кмл)
          а как вне зависимости от регистра?
            ну это скорее касается настроек компонента.
            но большинство из их поймут это.
            ExpandedWrap disabled
              /^43(крд|кмп|крс|кмл)\-(\d{1,5})$/i

            иначе в самом компоненте должно быть свойство включающее/выключающее чувствительность к регистрам
            Сообщение отредактировано: ViktorXP -
              а. ясно.
              а это можно разбить на группы с возможностью проверки
              к примеру
              - неправильно введены три буквы
              - введено больше 5 цифр
              - не поставлено тире.
              2.
              Цитата ViktorXP @
              ну это скорее касается настроек компонента.

              попрошу тогда модератора продублировать тему в .net общие вопросы, потому что к регистру чувствительно.
                с дотнетом не знаком, но попробуй еще так
                ExpandedWrap disabled
                  (?i)^43(крд|кмп|крс|кмл)\-(\d{1,5})$


                Цитата Koss @
                а это можно разбить на группы с возможностью проверки
                к примеру
                - неправильно введены три буквы
                - введено больше 5 цифр
                - не поставлено тире.

                нет. придется проверять каждый вариант отдельно.
                Сообщение отредактировано: ViktorXP -
                  а как сделать проверку на любое количество пробелов, табуляций и энтеров?

                  Добавлено
                  \s*
                  ок. нашёл нормальную справку.
                    Цитата Koss @
                    (крд|кмп|крс|кмл)

                    кстати, а можно сделать, чтобы оно не было группой ? :unsure:
                      да. если сразу после круглой скобки поставить знак вопроса с двумя точками то группа не запоминается.
                      ExpandedWrap disabled
                        (?:крд|кмп|крс|кмл)
                      0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                      0 пользователей:


                      Рейтинг@Mail.ru
                      [ Script execution time: 0,0253 ]   [ 15 queries used ]   [ Generated: 28.04.24, 09:07 GMT ]