Grunt Browserify превышен максимальный размер стека вызовов

Мне понравилось решение Eugen Mihailescu , чтобы соответствовать контенту между кавычками, позволяя избежать кавычек. Однако я обнаружил некоторые проблемы с экранированием и придумал следующее регулярное выражение, чтобы исправить их:

(['"])(?:(?!\1|\\).|\\.)*\1

Он делает трюк и все еще довольно прост и удобен в обслуживании.

Демо (с некоторыми более тестовыми примерами, не стесняйтесь использовать его и расширять).


PS: Если вам просто нужен контент между кавычки в полном совпадении ($0) и не боятся штрафа за производительность, используйте:

(?<=(['"])\b)(?:(?!\1|\\).|\\.)*(?=\1)

PPS: Если ваша фокусировка зависит исключительно от эффективности, перейдите к Решение Казимира и Ипполита ; это хороший.

0
задан derek_duncan 24 February 2015 в 18:07
поделиться