@bqio
https://bqio.github.io/

Почему регулярка возвращает null на всех пропсах?

env: {
  url: 'https://jsonplaceholder.typicode.com/todos/2',
  data: {
    userId: 1,
    id: 2,
    title: 'quis ut nam facilis et officia qui',
    completed: false
  }
}

// self = "#data[title]"

for (let variable in env) {
  if (typeof env[variable] == 'object') {
    for (let prop in env[variable]) {
      new RegExp("\#" + variable + "\[" + prop + "\]", 'g').exec(self) // null
    }
  }
}
  • Вопрос задан
  • 117 просмотров
Решения вопроса 2
Lynn
@Lynn
nginx, js, css
Потому что экранировать надо правильно
new RegExp("#" + variable + "\\[" + prop + "\\]", 'g')
Ответ написан
origami1024
@origami1024
went out for a night walk
new RegExp("#" + variable + "\\[" + prop + "\\]").exec(self)

Вот так работает. Моё понимание - один слэш съедается при объявлении, второй съедается при оценке регулярки.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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