Учитывая эту строку:
var str = 'A1=B2;C3,D0*E9+F6-';
Я хотел бы получить подстроку, которая идет от начала строки до 'D0*'
(исключая), в этом случае:
'A1=B2;C3,'
Я знаю, как этого добиться, используя комбинацию методов substr
и indexOf
:
str.substr(0, str.indexOf('D0*'))
Демонстрация в реальном времени: http://jsfiddle.net/simevidas/XSu22/
Однако это, очевидно, не лучшее решение, поскольку оно содержит избыточность (имя str
должно быть написано дважды).Этой избыточности можно избежать, используя метод match
вместе с регулярным выражением, которое захватывает подстроку:
str.match(/???/)[1]
Какой литерал регулярного выражения мы должны передать в match
, чтобы убедиться, что правильная подстрокавозвращается?
Я предполагаю, что это: /(.*)D0\*/
(и это работает ), но мой опыт работы с регулярными выражениями довольно ограничен, поэтому мне понадобится подтверждение ...