В простом тексте вздумалось мне найти буквосочетания:
var text = "Просто прекрасно как я прусь с простого языка JavaScript";
alert ( text.search( /ПР/ ));
alert ( text.search( /ПР/i ));
alert ( text.search( /ПР/g ));
В результате все алерты выдают -1.
Я ожидаю 0 , 6 ... и т.д.
Метод search
возвращает позицию первого совпадения или -1, если
ничего не найдено. Ограничение метода search
– он всегда ищет только
первое совпадение. Нельзя заставить search
искать дальше первого
совпадения, такой синтаксис попросту не предусмотрен.
var text = "Просто прекрасно как я прусь с простого языка JavaScript";
alert(text.search(/ПР/)); // -1 - ничего не найдет из-за регистра
alert(text.search(/ПР/i)); // 0 - найдет первое (i - не учитывая регистр)
alert(text.search(/ПР/g)); // -1 - ничего не найдет из-за регистра
alert(text.search(/ПР/ig)); // 0 - только 0 (из-за специфики 'search', 'g'-не влияет)
alert(text.search(/Пр/)); // 0 - найдет первое учитывая регистр
alert(text.search(/пр/g)); // 7 - первое, учитывая регистр ('g'-не влияет на 'search')
Регулярные выражения могут иметь флаги, которые влияют на поиск. В JavaScript их три:
i
- если этот флаг есть, то регэксп ищет независимо от регистра, то есть не различает между А и а.g
- если этот флаг есть, то регэксп ищет все совпадения, иначе – только первое.m
- многострочный режим.На заметку ссылка для ознакомления: регулярные выражения.
Ну и на последок простой пример поиска всех совпадений в строке с использованием RegExp
(наша регулярка, текст, ну и в цикле пробежим, пока есть совпадения будем добавлять их в результирующий массив, а затем выведем на экран найденные индексы):
var regex = /ПР/ig,
text = "Просто прекрасно как я прусь с простого языка JavaScript",
match,
indices = [];
while (match = regex.exec(text)) {
indices.push(match.index);
}
alert(indices);
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Изучаю js и столкнулась с такой проблемой, мне нужно отобразить координаты мышки внутри блока, а сам блок двигать по вертикали в зависимости...
Как с помощью скрипта взять текст из одного тега span и вставить в span с другим классом (с предварительной очисткой span, в который добавляется...