Ответ 1
JavaScript имеет объект RegExp
, который делает то, что вы хотите. Объект String
имеет функцию match()
, которая поможет вам.
var matches = text.match(/price\[(\d+)\]\[(\d+)\]/);
Возможно ли в JavaScript
сделать что-то вроде preg_match
в PHP
?
Я хотел бы получить два числа из строки:
var text = 'price[5][68]';
в две разделенные переменные:
var productId = 5;
var shopId = 68;
Изменить:
Я также использую MooTools
, если это поможет.
JavaScript имеет объект RegExp
, который делает то, что вы хотите. Объект String
имеет функцию match()
, которая поможет вам.
var matches = text.match(/price\[(\d+)\]\[(\d+)\]/);
var text = 'price[5][68]';
var regex = /price\[(\d+)\]\[(\d+)\]/gi;
match = regex.exec(text);
match [1], а совпадение [2] будет содержать номера, которые вы ищете.
var thisRegex = new RegExp('\[(\d+)\]\[(\d+)\]');
if(!thisRegex.test(text)){
alert('fail');
}
Я нашел тест, чтобы действовать более preg_match, поскольку он обеспечивает логическое возвращение. Однако вам нужно объявить переменную RegExp.
СОВЕТ: RegExp добавляет его в/в начале и в конце, поэтому не передавайте их.
Это должно работать:
var matches = text.match(/\[(\d+)\][(\d+)\]/);
var productId = matches[1];
var shopId = matches[2];
var myregexp = /\[(\d+)\]\[(\d+)\]/;
var match = myregexp.exec(text);
if (match != null) {
var productId = match[1];
var shopId = match[2];
} else {
// no match
}