2014-09-03 5 views
0

'Ello, поэтому я использую Rainmeter, и я просто хочу получить последний символ строки, используя Regex. Rainmeter использует регулярное выражение Perl. Строка длится всего два символа, это всего лишь минуты (так всего два числа), и мне нужна вторая цифра.Regex возвращает последний символ строки?

Это то, что у меня есть для получения только первой цифры.

[MeasureMinutePrefix] 
Measure=Time 
Format=%M 
RegExpSubstitute=1 
Substitute="^(.{1,1}).+$":"\1" 

Спасибо!

ответ

1

Я не знаю, Rainmeter, но экстраполировать из вашего примера, это должно сделать это:

Substitute="^.*(.)$":"\1" 

Кстати, нет никакой необходимости {1,1} в регулярном выражении. Это нормальный смысл любого не-количественного шаблона, он соответствует ровно один раз.

+0

Заметим, что '^ (.). $' Для первой цифры и '^. (.) $' Для второй также будет работать. Однако квантификаторы позволяют обобщать на более чем двузначные числа; независимо от количества символов, '^ (.). * $' получает первое, а '^. * (.) $' получает последнее. –

-1
Substitute="^.{1}(.{1,1})$":"\1" 

или

Substitute="^\d(\d)$":"\1" 
+1

'{1}' и '{1,1}' точно такие же, и не нужны. –

+1

Итак? Это неправильное решение? Оно работает. Я попытался сохранить тот же формат, что и в настоящее время, и предложил другое решение. – Andrey

+0

В чем же причина проглатывания? – Andrey