반응형
Vim Regex 캡처 그룹 [bau-> byau : ceu-> cyeu]
단어 목록이 있습니다.
bau
ceu
diu
fou
gau
그 목록을 다음과 같이 바꾸고 싶습니다.
byau
cyeu
dyiu
fyou
gyau
명령을 성공적으로 시도하지 못했습니다.
:%s/(\w)(\w\w)/\1y\2/g
이것이 작동하지 않는 경우 정규 표현식 캡처 그룹을 Vim에서 작동하게하려면 무엇을 변경해야합니까?
이 문제를 해결하는 한 가지 방법은 이스케이프 된 괄호로 패턴을 묶는 것입니다.
:%s/\(\w\)\(\w\w\)/\1y\2/g
약간 짧은 (더 마법 -al)을 사용하는 것입니다 \v
패턴의 모든 ASCII 문자 제외 후 즉, '0'-'9'
, 'a'-'z'
, 'A'-'Z'
및 '_'
특별한 의미를 가지고 :
:%s/\v(\w)(\w\w)/\1y\2/g
보다:
백 슬래시로 캡처 그룹을 피하고 싶지 않다면 (이것이 놓친 것입니다) \v
Vim의 정규 표현식 엔진을 매우 마술 모드 로 바꾸십시오 .
:%s/\v(\w)(\w\w)/\1y\2/g
이 패턴을 더 짧게 사용할 수도 있습니다.
:%s/^./&y
%s
패턴을 전체 파일에 적용합니다.^.
줄의 첫 문자와 일치합니다.&y
y
패턴 다음을 추가합니다 .
또한 그룹화 마비를 피해야합니다.
:%s/\(\w\)\(\w\w\)/\1y\2/g
그 트릭을 수행합니다.
참고 URL : https://stackoverflow.com/questions/19902089/vim-regex-capture-groups-bau-byau-ceu-cyeu
반응형
'programing tip' 카테고리의 다른 글
awk로 수정 사항 저장 (0) | 2020.07.19 |
---|---|
의사 요소 내용 앞에 :: after 또는 ::에 줄 바꿈 추가 (0) | 2020.07.19 |
Visual Studio 명령 프롬프트에서 PowerShell을 사용하려면 어떻게해야합니까? (0) | 2020.07.19 |
Rails 4 : 자산이 생산에 적재되지 않음 (0) | 2020.07.19 |
더 이상 사용되지 않는, 더 이상 사용되지 않는 및 더 이상 사용되지 않는 (0) | 2020.07.19 |