저는 빌드 프로세스 중에 이를 포착할 수 있도록 다양한 Python 코딩 방지 패턴을 찾아보려고 합니다. 새로운 줄을 일치시키기 위해 grep을 활용하는 데 문제가 있습니다.
검색할 안티패턴:
except:
pass
아래 패턴은 Intellij에서는 잘 작동하지만 grep을 적용하면 작동하지 않습니다.
except:\s+pass
이를 달성하는 방법을 제안하십시오.
답변1
pcregrep
Perl 호환 정규식 GREP을 나타내는 솔루션입니다 .
pcregrep -M "^except:\n\s+pass$" file
여기서 -M, --multiline
여러 줄에 걸쳐 패턴 일치를 허용합니다.
정규식은 줄 시작 부분의 텍스트 :except:
, 줄 바꿈 문자, 0개 이상의 공백(최대한 많은 공백과 일치) 및 pass
줄 끝의 텍스트를 일치시킵니다.