Что нового

[RegExp] Найти число по образцу **.**.

Alexander

Новичок
Сообщения
105
Репутация
2
Не могу разобраться с функцией StringRegExp. Нужно найти число по образцу **.**.
Что-то придумал, но мне не кажется, что это не правильно.
Код:
StringRegExp($inp, '\d[.]\d')

Или как лучше такое делать?
Например по такому образцу не получается **:**.**
Код:
StringRegExp($inp, '\d[:]\d[.]\d')
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Re: Функция StringRegExp. Найти число по образцу **.**.

Alexander,
Код:
$sString_1 = 'Test Test Text23:34.56Test'
$sString_2 = 'Test Test Text23.34.56Test'

$aResult_1 = StringRegExp($sString_1, '\d+:\d+\.\d+', 3)
MsgBox(64, '1', $aResult_1[0])
$sResult_1 = StringRegExpReplace($sString_1, '(?s).*?\D(\d+:\d+\.\d+)\D?.*', '\1')
MsgBox(64, '2', $sResult_1)

$aResult_2 = StringRegExp($sString_2, '\d{1,2}\.\d{1,2}\.\d{1,2}', 3)
MsgBox(64, '11', $aResult_2[0])
$sResult_2 = StringRegExpReplace($sString_2, '(?s).*?\D(\d{1,2}\.\d{1,2}\.\d{1,2})\D?.*', '\1')
MsgBox(64, '22', $sResult_2)
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Alexander

Вот видишь как у нас все просто. А ты сразу в ЛС...

;)
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Кстати, информация для всех. Я не отвечаю на ЛС с просьбами ответить на вопрос, который вполне можно задать на форуме.
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
CreatoR [?]
или я один это вижу:
Я тоже вижу. :smile:

Для StringRegExpReplace() так, наверное, надежнее будет:
Код:
$sString_1 = 'Test' & @CRLF & 'Test23:34.56 Test'& @CRLF & 'Test23'
$sString_2 = '23.34.56 Test'

$sResult_1 = StringRegExpReplace($sString_1, '(?s).*?(?:\D|\A)(\d+:\d+\.\d+)\D?.*', '\1')
MsgBox(64, '1', $sResult_1)

$sResult_2 = StringRegExpReplace($sString_2, '(?s).*?(?:\D|\A)(\d{1,2}\.\d{1,2}\.\d{1,2})\D?.*', '\1')
MsgBox(64, '2', $sResult_2)
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
Alexander
[info border=#0000ff float=left]На форуме принято помечать тему решенной после получения ответа на свой вопрос!
Вверху или внизу темы нажмите на ссылку такого вида:
package_old.gif
Тема не решена
[/info]
 
Верх