에서 앞으로 또는 뒤로 너비가 0인 어설션을 만드는 것이 가능합니까 sed
? 나는 Perl과 그 가족을 모방하고 싶습니다 (?=)
.
내 sed는 GNU sed 버전 4.0이 아닙니다.
답변1
아니요, 없습니다. 당신은 단지기본 정규식, 문자 집합( .
및 […]
), 반복( *
및), 행 앵커(and) 및 그룹화, 역참조만 해당됩니다. 일부 sed 구현에는 더 반복적인 구문(and), 대체(), 추가 앵커(,,,,)가 있습니다. 내가 아는 한, 보편적인 제로 너비 어설션은 없으며 Perl(또는 PCRE를 지원하는 다른 도구)을 사용해야 합니다.\{m,*n*\}
^
$
\(…\)
\N
\+
\?
\|
\b
\B
\<
\>
너비가 0인 어설션의 다양한 사용은 역참조를 사용하는 일반 정규식으로 시뮬레이션할 수 있습니다. 예를 들어 Perl은 s/foo(?=bar)/FOO/
다음과 같이 작성할 수 있습니다 s/foo\(bar\)/FOO\1/
.