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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> подскажите регулярку, значения через разделитель 
:(
    Опции темы
zomber
Дата 10.6.2014, 15:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 7.5.2011

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



есть строка типа Y.N.N.Y.Y.Y.N.N.N.N
надо зная порядковый номер выбрать значение между точками
чисто регуляркой

пробовал '[^.]+'

и всё бы ничего
но

значения могут отсутствовать 
например 
Y.N.N....N.N..N

и вот в этом случае '[^.]+' не работает


PM MAIL   Вверх
Bulat
Дата 10.6.2014, 17:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


татарский Нео
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 22.3.2006
Где: Альметьевск

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



Цитата(zomber @  10.6.2014,  15:13 Найти цитируемый пост)
надо зная порядковый номер выбрать значение между точками

честно говоря не очень понял. Можно раскрыть?  smile 


--------------------
менеджер по кодеврайтингу  smile 
PM MAIL WWW   Вверх
tzirechnoy
Дата 10.6.2014, 18:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1173
Регистрация: 30.1.2009

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



Ну, [^.]*

Только это всё извращения, конечно. Молодой человек, зачем Вам извращения -- обычного секса мало что-ли?
PM MAIL   Вверх
Romikgy
Дата 10.6.2014, 20:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7325
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

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




([Y|N])*\.([Y|N])*\.([Y|N])*\.([Y|N])*\.([Y|N])*\.([Y|N])*\.([Y|N])*\.([Y|N])*\.([Y|N])*\.([Y|N])*


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
zomber
Дата 11.6.2014, 12:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 7.5.2011

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



Цитата(Bulat @ 10.6.2014,  17:07)
Цитата(zomber @  10.6.2014,  15:13 Найти цитируемый пост)
надо зная порядковый номер выбрать значение между точками

честно говоря не очень понял. Можно раскрыть?  smile

для Y.N.N.Y.Y.Y.N.N.N.N
первый матч должен быть Y
второй N
3 - N
4 - Y
etc.

11 - пустая строка

для Y...Y.Y.Y.N.N.N.N

первый матч должен быть Y
2 - пустая строка
3 - пустая строка
4 - Y

Добавлено через 1 минуту
Цитата(Romikgy @ 10.6.2014,  20:41)
([Y|N])*\.([Y|N])*\.([Y|N])*\.([Y|N])*\.([Y|N])*\.([Y|N])*\.([Y|N])*\.([Y|N])*\.([Y|N])*\.([Y|N])*

не катит

кол-во не известно заранее
и может быть в общем случае не только Y/N

PM MAIL   Вверх
Bulat
Дата 11.6.2014, 15:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


татарский Нео
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 22.3.2006
Где: Альметьевск

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



zomber
все равно до конца не понял, но может быть
Код

my $i = 0; #индекс массива - порядковый номер
my $s = q{Y..N.Y.N.N.N.N.N};
my @res = $s =~ /([YN]*)./g;
print $res[$i];


задаешь $i - получаешь результат. Или я до сих пор чего-то недопонимаю??


--------------------
менеджер по кодеврайтингу  smile 
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Регулярные выражения | Следующая тема »


 




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


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

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