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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Только первое вхождение, найти только первое совпадение 
:(
    Опции темы
Akella
  Дата 20.12.2012, 21:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

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



Нужно найти первую цифру
Цитата

3/ср    50-р.Перемоги    4/4/ц    -    58/-/7    55000    
3/р    Юностi    8/9/ц    +    64/39/10    53000    
1/-    1 Травня    1/3/ц    -    42/30/5    29500    
11/-    1 Травня    1/3/ц    -    42/30/5    29500    


т.е. до первого слеша, то что красным

а это выражение
Код
\b(\d+)/\D+


ещё и вторые группы цифр находит: 4/ц    -    

что может быть ещё кроме р и ср, не знаю, обычно 1-2 символа
PM MAIL   Вверх
Сумасшедший
Дата 21.12.2012, 08:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чилавек-Каропка
***


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

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



Первая цифра:
s/^(\d)(.*)/${1}/
Первое число:
s/^(\d+)(.*)/${1}/;


--------------------
Однажды ты спросишь, а я отвечу: "Время ожидания специалиста - 10 минут". Ты бросишь трубку, так и не узнав, что Ваш звонок очень важен для нас!
PM MAIL WWW Jabber   Вверх
Akella
Дата 21.12.2012, 09:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

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



Вы ражения содержат ошибки.
Проверял у себя и также здесь

http://regexpr.ru/?pattern=s%2F%5E%28%5Cd%...F5++++29500++++

Добавлено через 2 минуты и 19 секунд
Можешь расшифровать?
Первый раз вижу "s/"

Добавлено через 4 минуты и 56 секунд
s - это модификатор?
Тогда может (?s) ?
PM MAIL   Вверх
Pfailed
Дата 21.12.2012, 10:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



s - это оператор замены
http://perldoc.perl.org/functions/s.html


--------------------
PM MAIL   Вверх
tzirechnoy
Дата 21.12.2012, 10:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



А как Вы этого добились? У меня единственное предположэние -- что было m/../g и контекст массива.
В общем, приведите полное выражэние, с входными данными и результатом.
PM MAIL   Вверх
alezzz
Дата 21.12.2012, 11:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


сплю...
**


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

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



так а в чем именно проблема? если нужно найти первую цифру (или скорее число), то:
Код

/^(\d+)\/(\S+)/

видимо проблема со входными данными, если считывается построчно то должно всё работать, если данные находятся в одной переменной то добавте модификаторы gm
Код

/^(\d+)\/(\S+)/gm

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


 




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


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

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