최근에 X/Motif에서 Qt로 옮긴 C++ 코드 기반으로 작업하고 있습니다. 내가 부울 (X에서) 부울로 모든 발생을 바꿀 펄 스크립트를 작성하려고합니다. 이 스크립트는 단순한 대체 작업을 수행합니다.부울을 부울로 바꿀 Regex
s/\bBoolean\b/bool/g
몇 가지 조건이 있습니다.
1) 코드에 CORBA가 있고 \ b가 이 아닌이 변경되어야하는 CORBA :: Boolean과 일치합니다.
2)가 (문자열로, 즉 "부울을"발견 된 경우가
업데이트) 일치하지해야합니다
는 # 1의 경우, 내가 # 2의 lookbehind
s/(?<!:)\bBoolean\b/bool/g;
사용 , 나는 선견지명을 사용했다.
s/(?<!:)\bBoolean\b(?!")/bool/g</pre>
이것은 내 상황에서 가장 잘 작동하지만 다음 개선 사항은 어떻게됩니까?
3) 문자열 중간에 일치하지 마십시오 (감사 코드 nohat).
4) 의견에 일치하지 마십시오. (// 또는/** /)
사이드 노트 : http://stackoverflow.com/questions/72312/how-should-i-capitalize-perl#72757 – szabgab