Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Регулярное выражение — какой вариант лучше? (https://javascript.ru/forum/misc/17286-regulyarnoe-vyrazhenie-%E2%80%94-kakojj-variant-luchshe.html)

InetBUG 13.05.2011 10:37

Регулярное выражение — какой вариант лучше?
 
Есть вот такая строка со временем:

var time = '02:15:45';


Задача — убрать секунды (:45). Для этого можно использовать 3 немного разных рег. выражение, оба работают, но какое в данном случае использовать предпочтительнее?

time.replace(/:\d{2}$/, '');

time.replace(/:\d+$/, '');

time.replace(/:\d*$/, '');

Matre 13.05.2011 11:17

Все три регэкспа будут работать одинаково в этом случае.

vflash 13.05.2011 11:32

'02:15:45'.slice(0, -3)

Kolyaj 13.05.2011 11:36

Цитата:

Сообщение от InetBUG
3 немного разных рег. выражение, оба работают

Почему три?
time.replace(/:\d\d$/, '');
time.replace(/:[0-9]{2}$/, '');
time.replace(/(.*):\d+$/, '$1');
// ...


Часовой пояс GMT +3, время: 16:00.