Мне нужно оптимизировать все регулярные выражения в проекте JavaScript. Я нашел все, созданные с помощью нового RegExp, с помощью простого поиска. Проблема заключается в том, что они созданы как литералы: /asd/
.
Я использую PhPStorm, поэтому механизм регулярных выражений - Java. Это означает, что мы оглядываемся назад. Итак, я придумал это:
(?<=[\s=(,\[\?:;|)])\/[^*\n/][^\n/]*[^*]\/
Это означает дать мне все, что выглядит как /.../
и не предшествует одному из следующих: \s= (,[?:;|)
.
- Может ли регулярному выражению предшествовать что-либо еще?
- У вас есть идея получше?
Поиск методов, используемых классами String и RegExp, недопустим (exec, replace...), поскольку поиск объявления в некоторых проектах очень сложен и требует много времени. Кроме того, вы можете использовать одно и то же регулярное выражение несколько раз.
/[^\\/]*(?:\\/[^\\/]*)*/
, но, боюсь, это приведет к перегрузке. Да, вы можете добавить(?<!\\)
перед ним, но (теоретически) все равно будут другие крайние случаи. - person Wiktor Stribiżew   schedule 09.11.2016exec
,test
,match
,search
,replace
иsplit
- person R. Schifini   schedule 09.11.2016