Форум программистов, компьютерный форум, киберфорум
JavaScript: RegExp
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/14: Рейтинг темы: голосов - 14, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 22.11.2012
Сообщений: 7

Регулярные выражения - ?<=

22.11.2012, 03:11. Показов 3021. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день! Пишу функцию, которая выделяет смесь раскладок в слове

JavaScript
1
2
3
4
5
6
jQuery.fn.lightLay = function() {
               // Со второй частью регэкспа не работает:
    var reg = /([ETIOPAHKXCBMeyopaxc]+(?=[А-Яа-я]))|((?<=[А-Яа-я])[ETIOPAHKXCBMeyopaxc]+)/g;
    var rep = '<span style="background-color: #FFFF00;">$1$2</span>';
    $(this).html($(this).html().replace(reg, rep));
}
не работает
Прочитал на каком-то форуме, что регулярные выражения яваскрипт не поддерживают смотрящею назад ?<=
Посоветуйте пожалуйста, как это грамотно заменить
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.11.2012, 03:11
Ответы с готовыми решениями:

Регулярные выражения
Не работают регулярные выражения, ничего не выдаёт вообще на экран, верно и неверно не выдаёт. &lt;html&gt; &lt;head&gt; ...

Регулярные выражения
Пользователь может зарегестрироваться на 3-х сайтах: mail.ru, google.ru, yandex.ru. До позиции @ e-mail может содержать 3 символа, затем...

Регулярные выражения
var ab=getElementById('').value; var reg=new RegExp(/&lt;vot_tut&gt;/g,''); var myinde=&quot; Privet eto stroka dlya poiska &quot;; var...

5
Эксперт JSЭксперт HTML/CSS
2436 / 1115 / 312
Регистрация: 23.06.2011
Сообщений: 3,529
22.11.2012, 07:27
Цитата Сообщение от pomahax Посмотреть сообщение
как это грамотно заменить
Где то, когда то, кто то, предложил ревесировать строку, а потом назад ее вернуть, кажется подсмотр вперед работает.
Или как то изворачиваться, может за два приема искать.
0
0 / 0 / 0
Регистрация: 22.11.2012
Сообщений: 7
22.11.2012, 15:38  [ТС]
Цитата Сообщение от newJS Посмотреть сообщение
Где то, когда то, кто то, предложил ревесировать строку, а потом назад ее вернуть,
Зачем же так над кодом издеваться? Это же времени на это пойдет...
Цитата Сообщение от newJS Посмотреть сообщение
кажется подсмотр вперед работает.
да, работает.

([ETIOPAHKXCBMeyopaxc]+(?=[А-Яа-я])) - все нормально, работает, но только если латинские буквы не последние в слове
((?<=[А-Яа-я])[ETIOPAHKXCBMeyopaxc]+(?=\b)) - тут по идее должно было находить латинские буквы, последние в слове, в котором в начале есть кирилица, но с этой строкой весь код не работает

Может есть какой-то аналог смотрящей назад? Как вообще ее заменяют в Javascript'е
0
Эксперт JSЭксперт HTML/CSS
2436 / 1115 / 312
Регистрация: 23.06.2011
Сообщений: 3,529
22.11.2012, 21:11
Цитата Сообщение от pomahax Посмотреть сообщение
Зачем же так над кодом издеваться?
не я придумал, за что купил за то продал
Цитата Сообщение от pomahax Посмотреть сообщение
Это же времени на это пойдет...
там что сотни мегабайт стрАка?
Цитата Сообщение от pomahax Посмотреть сообщение
[А-Яа-я]
JavaScript
1
2
3
[А-я]
если надо Ё
[А-яЁё]
0
23.11.2012, 15:48

Не по теме:

Цитата Сообщение от pomahax Посмотреть сообщение
[А-Яа-я]
Цитата Сообщение от newJS Посмотреть сообщение
[А-я]
newJS, Не стОит так делать никогда - потенциальная ошибка. Буква букве рознь. Сегодня А-я, а завтра A-z, но между «Z» и «a» есть ещё символы.

0
0 / 0 / 0
Регистрация: 22.11.2012
Сообщений: 7
23.11.2012, 18:11  [ТС]
Сделал вот так:

JavaScript
1
2
3
4
5
6
7
8
    jQuery.fn.lightLay = function() {
        var reg = /([А-Яа-я])([ETIOPAHKXCBMeyopaxc]+)/g;
        var rep = '$1<span style="background-color: #FFFF00;">$2</span>';
        $(this).html($(this).html().replace(reg, rep));
        reg = /(\b[ETIOPAHKXCBMeyopaxc]+(?=[А-Яа-я]))/g;
        rep = '<span style="background-color: #FFFF00;">$1</span>';
        $(this).html($(this).html().replace(reg, rep));
    }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.11.2012, 18:11
Помогаю со студенческими работами здесь

регулярные выражения
Господа, вот такой скрипт выводит в столбик все буквы &quot;в&quot; написанные в промте, а как сделать, чтоб и само регулярное выражение тоже с ходу...

Регулярные выражения - [$]
Почему когда я заключаю $ в квадратные кавычки, то он перестаёт считаться?

Регулярные выражения
Как с помощью регулярного выражения найти 20 символов? В символах есть только большие английские буквы и цифры.

Регулярные выражения
Добрый день! Не могу понять логики данных примеров, буду признателен если объясните. console.log(&quot;hi&quot;.match(/\s*/g)); // ...

Регулярные выражения
Ох видимо никогда я не разберусь с регулярками, мозг отказывается их воспринимать :( Нужно проверить соответствие строки на 1)...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru