Что нового

[RegExp] Получить число из строки, игнорируя часть этой строки

eralex

Знающий
Сообщения
63
Репутация
5
Имеются такого типа строки:
Код:
$TestString5 = "<cFFFFFFFF>Прочность доспехов: + <cD69B00FF>640"
$TestString6 = "<cFFFFFFFF>Здоровье: + <cD69B00FF>1078</></>"


Тут перед целым числом указывается цвет. Как исключить из поиска <cFFFFFFFF> и <cD69B00FF>, а то при попытке получить целое число
Код:
$asResult = StringRegExp($TestString6, '[0-9]+', 3)


в результат ошибочно заносятся числа 69 и 00.

Как временное решение пока использую такой код:
Код:
$TestString6 = StringRegExpReplace($TestString6, '<cD69B00FF>', '\1')
$asResult = StringRegExp($TestString6, '[0-9]+', 3)


Однако в будущем цвета могут поменяться, добавится новые, хочется универсальное решение без лишнего кода.
 
A

Alofa

Гость
Код:
#include <Array.au3>

$TestString = "666<cFFFFFFFF>Прочность доспехов: + <cD69B00FF>640" & _
		@CRLF & "<cFFFFFFFF>Здоровье: + <cD69B00FF>1078</></>888"

$aArray = StringRegExp($TestString, '(?:[<>\s]|^)(\d+)[<>\s]?', 3)
If Not @error Then _ArrayDisplay($aArray)
 
Верх