Я пытаюсь заменить каждое вхождение слова в тексте (который является html-файлом) и все вокруг, пока мы не встретим "
или '
или (
для позади или )
длявперед с помощью регулярного выражения, используя nodejs.
Моя проблема в том, что когда мне нужно заменить два слова, скажем, 3.png
и 13.png
, 13.png
тоже заменяется на совпадение 3.png
, и когда я заменяю 13.png
в моемtext его там нет, потому что он уже был заменен при совпадении с предыдущим 3.png
.
Мое идеальное решение было бы:
if
совпавший шаблон содержит /
then
, он должен точно соответствовать после /
и заменить все вокруг (косая черта), пока мы не встретим одного из этих символов (исключая) "
или '
или (
за спиной или )
else
точное совпадение между ""
или ''
или ()
Вы можете найти здесь regex101 пример
В настоящее время я сортирую свои слова для поиска следующим образом:
imgjson.sort((a, b) => b.name.length - a.name.length);
для того, чтобы сначала заменить самые длинные слова, что решает мою проблему, потому что мы заменяем сначала 13.png
, затем 3.png
, но я хотел бы знать, можно ли это сделать с помощью js regex?
Большое спасибо за ваш ответ и время!