Что нового

Как обрезать версию файла до первых двух цифр посредством рег. выражений

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5 379
Репутация
2 711
Подскажите, как из "1.2.0.0" получить "1.2" с помощью StringRegExpReplace(), а то я с рег. выражениями не дружу. Естественно цифры могут быть произвольными, в том числе и больше 9.

P.S

Интересное дело, пишу в посте слово "двух+значные" (без "+" естественно), а получаю "двухзначные".

:wacko:
 

dwerf

Использует ArchLinux
Сообщения
478
Репутация
218
Например так:

Код:
#include <array.au3>
$a = StringRegExp('1.2.0.0', '\d+\.\d+', 1)
_ArrayDisplay($a)


Зы
двуне знаюначные

Ззы
тоже
 
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5 379
Репутация
2 711
Не, мне нужно одной строкой и с помощью функции StringRegExpReplace(). А так я могу и с помощью StringSplit().
 

madmasles

Модератор
Глобальный модератор
Сообщения
7 790
Репутация
2 319
Yashied
У меня так работает:
Код:
$sVer = "1.2.0.0"
$sVer = StringRegExpReplace($sVer, '^(\d+\.\d+)?.*', '\1')
MsgBox(0, '', $sVer)
 

dwerf

Использует ArchLinux
Сообщения
478
Репутация
218
Yashied сказал(а):
Не, мне нужно одной строкой и с помощью функции StringRegExpReplace(). А так я могу и с помощью StringSplit().
Не внимательно прочитал. madmasles опять впереди :smile:

Код:
$a = StringRegExpReplace('1.2.3.3', '(\d+\.\d+).*', '$1')
MsgBox(0, '', $a)
 
Автор
Yashied

Yashied

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

:beer:
 
Верх