RegExp
, то следует экранировать слэши\
, а 2 \\
const regEx = /((?<!(д(ом)?|стр(оение)?|\/|-)\.?\s*\d*)\d+((,?\s*(к(ор(п(ус)?)?)?\.?)\s*\d+)|(\s*[а-я])|(\s*\/\s*\d+))?\s*$)/;
let str = 'Слово';
str.match(/[ауоыиэяюёе]/ig).length;
// 2
//-------------------------------------
// variant 0
var str = 'Пользователь задает слова и нужно найти слово, которое содержит наибольшее количество гласных букв через регулярные выражение';
var words = str.split(' ');
var wordLength = [];
words.forEach(word => wordLength.push([word.length, word]));
var maxWord = wordLength.sort((a, b) => b[0]-a[0]).slice(0, 1)[0][1];
// variant 1
var str = 'Пользователь задает слова и нужно найти слово, которое содержит наибольшее количество гласных букв через регулярные выражение';
var words = str.split(' ');
var wordLength = {};
words.forEach(function(word){
wordLength[word.length] = wordLength[word.length] || [];
wordLength[word.length].push(word);
});
var maxWords = wordLength[Object.keys(wordLength).sort((a, b) => Math.max(a,b)).shift()];
let counter = 0;
let $form = $('div.form');
$form.on('click', 'input.clone-row', function(){
let $self = $(this);
let cloneRow = $self.parent().clone();
counter++;
cloneRow.find('input.form-control').each(function(i, input){
let $input = $(input);
let inputName = $input.attr('name');
let newName = inputName.replace(/(.*?\[)\d+(\].*)/i, '$1' + counter + '$2');
$input.attr('name', newName);
$input.val(newName); // это, конечно же, можно (нужно) убрать. здесь только для наглядности
});
$form.append(cloneRow);
});
Возможно ли это сделать в javascript не копируя слова в переменную, а обращением к файлу
let xhr = new XMLHttpRequest();
xhr.open('GET', 'file.txt', false); // либо "file.json"
xhr.send();
let file = xhr.responseText || '';
// а дальше уже делаете с файлом, что хотите
// либо разбиваете на строки с помощью разделителя "перенос строки"
let strings = file.split(/[\r\n]+/);
// либо разбиваете на слова разделителем "перенос строки или пробел"
let words = file.split(/[\s\r\n]+/);
// это данные формы - const data = { titleName: title.value, descrName: descr.value, typeName: type.value, rngFieldName: rngField.value, };
xhr.send(JSON.stringify({
titleName: title.value,
descrName: descr.value,
typeName: type.value,
rngFieldName: rngField.value,
}));
let t = document.getElementById('www1');
// достаем потенциальные текстовые узлы
textNodes = t.innerHTML.match(/(>[^<>]*?)([а-яА-Яё]+)([^<>]*?<)/igm) || [];
// проходим по каждому регуляркой в цикле
textNodes.forEach(function(tNode){
let repl = tNode.replace(/([а-яё]+)/igm, '<mark>$1</mark>');
t.innerHTML = t.innerHTML.replace(tNode, repl);
});
preg_match('#"edge_followed_by":[^"]*?"count":\s*(\d+)#isu', $script, $match);
var_dump($match);
if (preg_match('#window._sharedData[=\s]+(?P<json>\{.*});<\/script>#isu', $script, $match)) {
if ($json = json_decode($match['json'], true)) {
// в вашем случае такой "длинный" путь
var_dump($json['entry_data']['ProfilePage']['0']['graphql']['user']['edge_followed_by']['count']);
} else {
echo 'не удалось распарсить JSON';
}
} else {
echo 'не удалось вытащить JSON';
}
$page = file_get_contents('https://www.instagram.com/instagram/');
// вариант 1
preg_match('#"edge_followed_by":[^"]*?"count":\s*(\d+)#isu', $page, $match);
var_dump($match);
// вариант 2
if (preg_match('#window._sharedData[=\s]+(?P<json>\{.*});<\/script>#isu', $page, $match)) {
if ($json = json_decode($match['json'], true)) {
var_dump($json['entry_data']['ProfilePage']['0']['graphql']['user']['edge_followed_by']['count']);
} else {
echo 'не удалось распарсить JSON';
}
} else {
echo 'не удалось вытащить JSON';
}