Я пытаюсь создать массив, содержащий подстроки строки, которая передает мое регулярное выражение и подстроки. Например:Сочетание результатов .split() и .match()
['stringpart1', 'match1', 'stringpart2', 'match2', 'stringpart3']
Это мое регулярное выражение: new RegExp("<(\/)?" + tag + ".*?>", "g");
Я использую исходный код страницы строки что-то вдоль линий:
"<html>\n
<meta class='a'/>\n
<meta class='b'/>\n
<div>\n
<p>test</p>\n
</div>\n
</html>"
Если я использую мою страницу источник с .split(re)
, Я получаю значение
['<html>\n', undefined, '\n', undefined, '\n', '<div>\n<p>test</p>\n</div>\n</html>]
Если значения, соответствующие строке, равны undefined
.
Когда я использую .match(re)
, все совпавшие значения возвращаются, как и ожидалось:
['<meta class='a'/>', '<meta class='b'/>']
Есть ли Javascript функция, которая может генерировать результат ниже?
['<html>\n', "<meta class='a'/>", '\n', "<meta class='b'/>", '\n', '<div>\n<p>test</p>\n</div>\n</html>]
Может быть, посмотреть на regex.exec здесь: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/exec – klikas
Что 'RegExp 'ожидается, чтобы соответствовать? – guest271314
Зачем вы это делаете? Что вы планируете делать с результатами? Кроме того, где в вашем HTML строки 'stringpart1' и' match1' и т. Д. Вы утверждаете, что возвращаетесь? –