назначить совпадающие значения из совпадения регулярных выражений jquery для строковой переменной - PullRequest
1 голос
/ 23 июня 2010

Я делаю это неправильно.Я знаю.

Я хочу присвоить сопоставленный текст, являющийся результатом регулярного выражения, строке var.

в основном регулярное выражение должно вытаскивать что-либо между двумя двоеточиями

поэтому blah: xx: blahdeeblah приведет к xx

var matchedString= $(current).match('[^.:]+):(.*?):([^.:]+');
alert(matchedString);

Я хочу получить это для помещения xx в мою переменную matchedString.

Я проверил документы jquery, и они сказали, что match должен вернуть массив.(строка char массив?)

Когда я запускаю это, ничего не происходит, в консоли нет ошибок, но я протестировал регулярное выражение и он работает за пределами js.Я начинаю думать, что я просто делаю неправильное выражение или я совсем не понимаю, как работает функция соответствия

1 Ответ

5 голосов
/ 23 июня 2010

Я проверил документы jquery, и они сказали, что match должен возвращать массив.

Для jQuery такого метода не существует.match - это стандартный метод javascript для строки.Так что, используя ваш пример, это может быть

var str = "blah:xx:blahdeeblah";
var matchedString = str.match(/([^.:]+):(.*?):([^.:]+)/);
alert(matchedString[2]);
// -> "xx"

Однако вам не нужно регулярное выражение для этого.Вы можете использовать другой строковый метод, split(), чтобы разделить строку на массив строк, используя разделитель:

var str = "blah:xx:blahdeeblah";
var matchedString = str.split(":");  // split on the : character
alert(matchedString[1]);
// -> "xx"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...