Хотя вы не можете сделать это с помощью ванильного JavaScript, возможно, вы можете использовать некоторую функцию Array.prototype
, такую как Array.prototype.reduce
, чтобы превратить индексированные совпадения в именованные с помощью некоторой магии .
Очевидно, что следующее решение будет иметь следующие соответствия:
// @text Содержит текст для соответствия // @regex Объект регулярного выражения (fe /.+/) // @matchNames Массив литералов, где каждый элемент // является именем каждой групповой функции namedRegexMatch (text, regex, matchNames) {var matches = regex.exec (текст); return match.reduce (function (result, match, index) {if (index & gt; 0) // Эта подстановка требуется, потому что мы подсчитываем // сопоставляем индексы с 1, потому что 0 - весь результат согласованной строки [matchNames [index - 1]] = match; return result;}, {}); } var myString = «Привет, Алекс, я Джон»; var namedMatches = namedRegexMatch (myString, / Hello ([a-z] +), я ([a-z] +) / i, ["firstPersonName", "secondPersonName"]); alert (JSON.stringify (namedMatches));
$i = 0;
$records = mysql_num_rows($sections_query);
while($row_sections = mysql_fetch_array($sections_query))
{
echo "<h3>" . $row_sections['section_name'] . "</h3>";
}
Это будет проходить через каждую строку и напечатать название раздела.