Comments 4
Усложним эту задачу: если в начале строки есть
c
, а затем любые кавычки" '
, нужно найти в кавычках только слова и цифры (подсвечены зеленым):
Cделал просто с lookbehind - https://regex101.com/r/KY6Lba/1 . Не знаю, оптимальней это или нет, но в js в регексах, кажется, нет \G
и \K
Любой RegEx, неважно какую задачу он решает - это паровоз: у него есть сцепка между вагонами, груженными кусками строк. Любое выражение - это цельный состав, а мне из этого состава нужно было выбрать 2-3 отдельных вагона, которые могут даже рядом друг с другом не стоять... И вот уникальность подхода с циклом и \G
в том, что нигде больше в интернете не написано, как с помощью одного выражения я могу выбрать нужные мне вагончики...
Lookbehind и группы захвата тащат за собой весь локомотив и обрываются если что-то идет не так не дойдя даже до конца строки. А между тем мне нужно не только найти в строке слова, но и обойти мимо лишнее. Значит обрывы категорически недопустимы... как-то абстрактно получилось, но объяснять на языке RegEx точно не легче.
Что касается синтаксиса, оно работает в других языках вместо JS. Во всяком случае наверняка в NPM есть модуль с поддержкой библиотеки Boost (раз и два и три) где валяется набор нужных RegEx...
Элегантное решение! Жаль что не обходит мимо слова внутри скобок { }
, взял бы на вооружение...
Цикл в RegEx для поиска подстрок с условием