omaxphp
@omaxphp
Выучиться не значит знать

Как оптимизировать регулярные выражения и их замену в javascript коде?

мне дали такой код, но я не умею работать с регулярными выражениями:

VAR1.replace(/\s+/g, '').replace(/(\n)+|(\t)+|(\r)+/g, ' ').replace(/\/\*[\W|\w]+\*\//g, '') - как уместить в один replace?
VAR2.replace(/(\r)+|(\n)+|(\t)+/g, ' ').replace('TEXT1', 'TEXT2') - тут уместить в один replace?
VAR3.replace(/(\n)+|(\t)+|(\r)+/g, ' ').replace(/\/\*[\W|\w]+\*\//g, '').replace(/\@[\W|\w]+\;/g, '') -и как тут уместить в один replace?

Просто мне кажется так больше ресурсов затратиться, если много реплейсов к одной переменной пристыковывается, или нет?
VAR1.replace(/\s+/g, '').replace(/(\n)+|(\t)+|(\r)+/g, ' ').replace(/\/\*[\W|\w]+\*\//g, '')
 VAR2.replace(/(\r)+|(\n)+|(\t)+/g, ' ').replace('TEXT1', 'TEXT2')
 VAR3.replace(/(\n)+|(\t)+|(\r)+/g, ' ').replace(/\/\*[\W|\w]+\*\//g, '').replace(/\@[\W|\w]+\;/g, '')
  • Вопрос задан
  • 2368 просмотров
Решения вопроса 1
Hazestalker
@Hazestalker
По первому:
VAR1.replace(/\s+/g, '').replace(/(\n)+|(\t)+|(\r)+/g, ' ').replace(/\/\*[\W|\w]+\*\//g, '')

Меняется последовательно:
1. /\s+/g на пустоту - ''
затем
2. /(\n)+|(\t)+|(\r)+/g на пробел - ' '
и
3. /\/\*[\W|\w]+\*\//g снова на пустоту - ''
Максимум что возможно, это засунуть 3 в 1 - /\s+|\/\*[\W|\w]+\*\//g, как то так
Код лучше протестировать
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
mlnkv
@mlnkv
JavaScript Developer
это не вопрос, это "сделайте за меня"
javascript.ru/RegExp
Ответ написан
Комментировать
rdifb0
@rdifb0
Программист, реалист
Если только это код не выполняется каждые 100 миллисекунд, в ином случае можете не волноваться за ресурсы.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы