Pull to refresh

Comments 4

Усложним эту задачу: если в начале строки есть c, а затем любые кавычки " ', нужно найти в кавычках только слова и цифры (подсвечены зеленым):

Cделал просто с lookbehind - https://regex101.com/r/KY6Lba/1 . Не знаю, оптимальней это или нет, но в js в регексах, кажется, нет \G и \K

Любой RegEx, неважно какую задачу он решает - это паровоз: у него есть сцепка между вагонами, груженными кусками строк. Любое выражение - это цельный состав, а мне из этого состава нужно было выбрать 2-3 отдельных вагона, которые могут даже рядом друг с другом не стоять... И вот уникальность подхода с циклом и \G в том, что нигде больше в интернете не написано, как с помощью одного выражения я могу выбрать нужные мне вагончики...

Lookbehind и группы захвата тащат за собой весь локомотив и обрываются если что-то идет не так не дойдя даже до конца строки. А между тем мне нужно не только найти в строке слова, но и обойти мимо лишнее. Значит обрывы категорически недопустимы... как-то абстрактно получилось, но объяснять на языке RegEx точно не легче.

Что касается синтаксиса, оно работает в других языках вместо JS. Во всяком случае наверняка в NPM есть модуль с поддержкой библиотеки Boost (раз и два и три) где валяется набор нужных RegEx...

Элегантное решение! Жаль что не обходит мимо слова внутри скобок { } , взял бы на вооружение...

UPD: шикарно получилось, я его расширил и добавил в статью. Спасибо! Попробую применить на практике, мб даже быстрее получится.

Sign up to leave a comment.

Articles