У меня есть строка, которая может содержать подстроку /\
. Как заменить эту подстроку на /\\\
в perl? Я пробовал следующее:как передать этот текст «/ » в регулярное выражение?
$string =~ s/\\/\\/g;
Это не помогло.
У меня есть строка, которая может содержать подстроку /\
. Как заменить эту подстроку на /\\\
в perl? Я пробовал следующее:как передать этот текст «/ » в регулярное выражение?
$string =~ s/\\/\\/g;
Это не помогло.
попробовать: s/\/\\/\/\\\\/g
\ является маскирующим. если вы хотите использовать его самостоятельно, вы должны сбежать, используя \.
В этих случаях гораздо проще использовать разделитель, отличный от «/». Например: 's #/\\ #/\\\\ # g' или' s (/ \\) (/ \\\\) g'. – tobyink
Вы хотите, чтобы избежать всех вхождений \
к \\
так, что (abc/\ABC)
становится (abc/\\ABC)
:
#!/usr/bin/perl
use strict;
my $str = '(abc/\ABC)';
$str =~ s:\\:\\\\:g;
print "$str\n";
# => (abc/\\ABC)
В примере используется заместительная разделитель :
вместо /
, чтобы сделать его более удобным для чтения.
my $str = '/\\';
print $str."\n";
$str =~ s!/\\!/\\\\\\!;
print $str."\n";
Вы прочитали свой вопрос? Непонятно – HamZa