Задать вопрос
@FreeArcher
Senior 1С; php, JS Starter

Как избавится от «Wide character in regexp compilation at» в регулярном выражении на русском?

Можно ли избавится от ругательств на регулярное выражение с русскими буквами?
Wide character in regexp compilation at F:/GIT/1c-translation-script/translate-with-dict.pl line 81.
Variable length lookbehind is experimental in regex; marked by <-- HERE in m/(?<=[^╨Р-╤П╤С╨Б]|^)╨Ь╨░╨║╤Б╨╕╨╝╤Г╨╝╨б╨╡╤А╨╕╨╣╨Ъ╨╛╨╗╨╕╤З╨╡╤Б╤В╨▓╨╛(?=[^╨Р-╤П╤С╨Б]|$) <-- HERE / at F:/GIT/1c-
translation-script/translate-with-dict.pl line 81.


$line =~ s/(?<=[^А-яёЁ]|^)$ru(?=[^А-яёЁ]|$)/$en/g;

Все что можно уже объявил

#no warnings;
use utf8;
binmode STDOUT, ':utf8';
binmode STDIN, ':utf8';


Про no warnings знаю, но можно без него или нет?
  • Вопрос задан
  • 57 просмотров
Подписаться 1 Средний 8 комментариев
Пригласить эксперта
Ответы на вопрос 2
fzfx
@fzfx
18,5 дм
Попробуй заменить
$line =~ s/(?<=[^А-яёЁ]|^)$ru(?=[^А-яёЁ]|$)/$en/g;
на
$line =~ s/(?<=[^А-яёЁ]|^)$ru(?=[^А-яёЁ]|$)/$en/gu;
Ответ написан
Комментировать
@pcdesign
А если убрать все это
#no warnings;
use utf8;
binmode STDOUT, ':utf8';
binmode STDIN, ':utf8';

И написать так
use open ':std', ':encoding(UTF-8)';
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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