Я хочу извлечь каждый блок буквенно-цифровых символов, которые появляются после подчеркивания в строке Javascript. Я в настоящее время он работает с использованием комбинации методов строковых и регулярное выражение, как так:Получение каждого слова после каждого подчеркивания в строке в Javascript с использованием regex
var string = "ignore_firstMatch_match2_thirdMatch";
var firstValGone = string.substr(string.indexOf('_'));
// returns "_firstMatch_match2_thirdMatch"
var noUnderscore = firstValGone.match(/[^_]+/g);
// returns ["firstMatch", "match2" , "thirdMatch"]
мне интересно, если есть способ сделать это чисто с помощью регулярных выражений? Лучше всего мне удалось:
var string = "ignore_firstMatch_match2_thirdMatch";
var matchTry = string.match(/_[^_]+/g);
// returns ["_firstMatch", "_match2", "_thirdMatch"]
, но это также возвращает предыдущее подчеркивание. Учитывая, что вы не можете использовать lookbehinds в JS, я не знаю, как совместить символы после, но исключать сам подчеркивание. Это возможно?
Просто используйте группу захвата '_ ([^ _] +)' и используйте 'RegExp # exec' в цикле. –
http://stackoverflow.com/a/432503/4028085 – brso05
Приветствия за все ответы. Я не пробовал перебирать группы, потому что думал, что может быть «более чистый» способ сделать это, поэтому спасибо, что сообщили мне, что петли и группы - это путь. – chrBrd