Эквивалентное \b регулярное выражение в IE11

Предисловие

У меня есть задача: надо с помощью js и regexp выделить какое-то слово в тексте (причем надо, чтоб работало и в IE11). Пара минут в гугле дала легкое и простое решение: \b(word)\b. Однако возникла проблема: русские символы эта волшебная комбинация не считает за буквы. А хотелось бы добавить еще и поддержку чего-то типа < > и т.д.

Возникла гениальная идея: разобрать \b по составляющим, засунуть в него нужные мне символы и использовать. Нашел сайт, на котором рассказали про реализацию: ((?<!\w)(?=\w))|((?<=\w)(?!\w)), а \w уже легко можно сделать свой. Реализация оказалось верной:

Реализация верна

Но тут же нашлась и проблема: IE11 не поддерживает lookbehind, а значит данное выражение в нем не сработает.

Ошибка в IE

Однако обычный \b работает даже в IE:

Работает

Вопрос

Возник закономерный вопрос: а каким вообще образом работает \b в IE11 при недостуном lookbehind, и можно ли это \b выразить через что-то другое (например, \w), что можно легко изменить и добавить поддержку русских символов.


Ответы (0 шт):