На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: ALXR
  
    > Строка "музыкальный трек" , специфическая задача...
      Есть строка вида
      ExpandedWrap disabled
        1.  «Track name»  0:13
      или например
      ExpandedWrap disabled
        1 - Track name (0:13)


      могут быть и другие варианты, хотелось бы охватить по максимуму...

      Использую регулярку
      ExpandedWrap disabled
        /^(\d+)\s?[\.-_]?\s*[\"\'«]?(.+)[\"\'»]?\s+[\[\(\{]?([\d:]+)[\]\)\}]?$/i
      Для первого варианта после имени трека остается закрывающая кавычка (попадает во вторую подвыборку)... что-то уже голова не варит, как отвязаться от нее...

      И вообще, не перемудрил ли я? Может можно попроще/пограмотнее/понадежнее?
        А какие еще бывают варианты? И что может содержать Track name? Может ли название содержать, к примеру, строку 7:40?
          Цитата AVA12 @
          А какие еще бывают варианты?

          Варианты не знаю, откуда еще у пользователя возникнет идея копировать список треков... Первый вариант из Википедии, второй из сгенерированного ВинАмпом списка...
          Главное ограничение, чтобы первым шел номер, потом название, потом продолжительность...

          Цитата AVA12 @
          И что может содержать Track name? Может ли название содержать, к примеру, строку 7:40?
          Теоретически может содержать все, что угодно...

          В принципе, если парсинг списка не удастся, это все приведет только к заполнению его в ручную в отдельные поля... просто туда забивать муторно и я сделал поле для парсинга целого списка...
          То есть, если в каких-то исключительных случаях регулярка не сработает, ничего страшного...
            Короче, сделал пока так:
            ExpandedWrap disabled
              /^(\d+)\s?[\.-]?\s+["«]?([^"»]+)["»]?\s+[\[\(\{]?([\d:]+)[\]\)\}]?$/i

            Если пользователю приспичит еще что-то хитрее вбить - сам себе виноват будет :D
            0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
            0 пользователей:


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