문자열의 단일 백 슬래시를 이중 백 슬래시로 바꾸려면 어떻게해야합니까?정규식을 사용하여 백 슬래시를 두 개의 백 슬래시로 바꾸기
나는
s/\\(?!\\)/\\\\/g
s/\\/\\\\/g
s/[^//]/\\\\/g
같은 것들을 시도했습니다하지만 그들은 모두 서로 후 여러 백 슬래시를 생산하고 있습니다.
그래서 내가 원하는 :\test
이
\\test
편집으로 대체 될 : 그래서 난 단지 문자열과 일치하는 정규식이 필요 죄송합니다 내가 또한 정규식 루프에 있음을 언급해야한다 백 슬래시가 하나 뿐인 경우. 백 슬래시가 두 개 이상 있으면 정규식은 문자열을 거부해야합니다.
my $str = '\test';
$str =~ s{\\}{\\\\}g;
print $str;
출력 :
\\test
일이 모든 기대어 타워가 뒤죽박죽되지 않도록주의해야 할 사과
당신이 이중 blackslashes이 배 지거나하지 하시겠습니까 나오지 N 단지 부정적 예측 및 lookbehind 주장을 사용할 수 있습니까? – AntonH
짝수 개의 백 슬래시는 어떨까요? –
'$ subject = ~ s /\\\$$ 1/g;' –