[ID CC-CC2022] Игнорировать одно регулярное выражение среди прочих

  • Автор темы Автор темы ъьы
  • Дата начала Дата начала

ъьы

Участник
Топикстартер
Сообщения
34
Реакции
2
Привет! У меня есть иллюстраторовский скрипт, который берёт данные для поиска и замены из двумерного массива, т.е. для глобальной замены у меня вот такая конструкция:
Код:
myLine.contents = myLine.contents.replace(RegExp(zamenaSplit[i][0],"g"), zamenaSplit[i][1]);

Подскажите пожалуйста, как мне добавить исключение в поиск для "."? Или вообще для всех регулярных выражений кроме "g"? Потому что, например, мне нужно заменять ".10." на "тест", а вот "10" менять на "тест" не нужно, но в текущем варианте и ".10." и "10" заменяется на "тест".
 
Вы об этом:
10-1.jpg
?

Или об этом:
10-0.jpg
?

Или об этом:
10-2.jpg
?

Или вообще о чём-то совсем другом? Извините, я в Вашу тему в иллюстраторовском разделе не вникал :)
 
Или вообще о чём-то совсем другом? Извините, я в Вашу тему в иллюстраторовском разделе не вникал :)
Ага, я о другом, постараюсь сформулировать понятнее.

Я делаю автозамену скриптом. Данные для поиска и данные для замены скрипт берёт из массива строк.
Вот в таком виде (часть скрипта, совершающая непосредственно замену):
Код:
myLine.contents = myLine.contents.replace(zamenaSplit[i][0], zamenaSplit[i][1]);
скрипт заменяет только первую попавшуюся последовательность.

Мне надо реализовать глобальный поиск и замену. Для этого я использую регулярное выражение:
Код:
myLine.contents = myLine.contents.replace(RegExp(zamenaSplit[i][0],"g"), zamenaSplit[i][1]);
И всё работает как надо, за исключением того, что в некоторых искомых данных присутствуют точки, которые во второй конструкции расцениваются как регулярное выражение. То есть мне нужно, чтобы скрипт заменял только ".10." на "тест", а он в таком виде, все "10" без точек так же заменяет на "тест".

Наверное опять ничего непонятно, но я надеюсь.
 
в некоторых искомых данных присутствуют точки, которые во второй конструкции расцениваются как регулярное выражение.
Можно временно эти точки заменить на \.
Тогда они не будут рассматриваться как регулярное выражение.
 
  • Спасибо
Реакции: ъьы
То есть мне нужно, чтобы скрипт заменял только ".10." на "тест", а он в таком виде, все "10" без точек так же заменяет на "тест".
Тогда внимательно посмотрите на самый верхний ЛЁнин скрин