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

ъьы

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

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

LeonidB

Их бин
10 лет на форуме
Сообщения
2 468
Реакции
1 528
Вы об этом:
10-1.jpg
?

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

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

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

ъьы

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

Я делаю автозамену скриптом. Данные для поиска и данные для замены скрипт берёт из массива строк.
Вот в таком виде (часть скрипта, совершающая непосредственно замену):
Код:
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" без точек так же заменяет на "тест".

Наверное опять ничего непонятно, но я надеюсь.
 

LeonidB

Их бин
10 лет на форуме
Сообщения
2 468
Реакции
1 528
в некоторых искомых данных присутствуют точки, которые во второй конструкции расцениваются как регулярное выражение.
Можно временно эти точки заменить на \.
Тогда они не будут рассматриваться как регулярное выражение.
 
  • Спасибо
Реакции: ъьы

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
То есть мне нужно, чтобы скрипт заменял только ".10." на "тест", а он в таком виде, все "10" без точек так же заменяет на "тест".
Тогда внимательно посмотрите на самый верхний ЛЁнин скрин