regexp

regexp

Глупый вопрос: Как найти число в строке?
(вообще нужно либо с начала строки, либо после пробельного)
/(^|\s)(\d+)/ не работает, почему?

спасибо
Ответы:
^\d+|\s\d+
Можно так:
(^|\ )(\d+)
число вытаскиваем из массива_совпадений[2]
спасибо ise-dvp за ссылку :)
PS. Ваш вариант должен работать... если, конечно, используете preg_match()
/\b\d+/
> /(^|\s)(\d+)/ не работает, почему?
Странно, у меня все работает.
====================
C:\Program Files\Far>perl -ne "print qq(Matched: '$2'\n) if /(^|\s)(\d+)/"
345
Matched: '345'
qwe
qwe345
234dfg
Matched: '234'
qwe 234dfg
Matched: '234'
dfhg345dfg
sfd 456 567
Matched: '456'
===================
Может быть Вы не учли, что число соотвествует второй скобке?
А еще вариант от 'ub' тоже хорош.
===================
C:\Program Files\Far>perl -ne "print qq(Matched: '$1'\n) if /\b(\d+)/"
345
Matched: '345'
qwe
qwe345
234dfg
Matched: '234'
qwe 234dfg
Matched: '234'
dfhg345dfg
sfd 456 567
Matched: '456'


17 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.