Позитивный взгляд в регулярных выражениях в Firefox - PullRequest
1 голос
/ 29 марта 2019

Я использую это регулярное выражение /(?<=^| )\d+(\.\d+)?(?=$| )/, которое содержит позитивный взгляд, но похоже, что оно не работает в Firefox, и я получаю исключение. Какая альтернатива этому?

1 Ответ

0 голосов
/ 29 марта 2019

Вы можете превратить позитивный взгляд в не захватывающую группу (?:^| ), сохраняя чередование.

Затем запишите свое значение в группу захвата (\d+(?:\.\d+)?) и превратите необязательную десятичную часть также в группу без захвата.Позитивный прогноз поддерживается, поэтому вы можете оставить все как есть.

(?:^| )(\d+(?:\.\d+)?)(?=$| )

Regex demo

let strings = [
  "1",
  "1.2 ",
  "0",
  "0.122",
  " 1",
  " 1.2",
  " 0",
  " 0.122",
];
let pattern = /(?:^| )(\d+(?:\.\d+)?)(?=$| )/;
strings.forEach(s => {
  console.log(s.match(pattern)[1])
});
...