![정규식 (Big|Small)(State|City)-[0-9]*\.csv에 해당하는 .gitignore 패턴은 무엇입니까?](https://linux55.com/image/20914/%EC%A0%95%EA%B7%9C%EC%8B%9D%20(Big%7CSmall)(State%7CCity)-%5B0-9%5D*%5C.csv%EC%97%90%20%ED%95%B4%EB%8B%B9%ED%95%98%EB%8A%94%20.gitignore%20%ED%8C%A8%ED%84%B4%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
나는 다음과 .gitignore
비슷한 정규식을 가지고 있습니다.
(Big|Small)(State|City)-[0-9]*\.csv
잘 안되서 테스트 해봤는데정규 표현식 연구실.
그러다가 내가 찾았어지티노어매뉴얼 페이지에서는 gitignore가 정규 표현식을 사용하지 않고 대신경기(3).
그러나 fnmatch에는 그룹 캡처와 동등한 기능이 없는 것 같습니다. 이것이 가능합니까, 아니면 세 줄로 나누어야합니까?
답변1
이 정규식은 gitignore에서 지원하는 패턴을 사용하여 표현할 수 없습니다. 문제는 누락된 캡처링 그룹이 아니라(실제로 캡처링 그룹을 그런 식으로 사용하고 있지 않음) 문제는 누락된 |
연산자입니다. 4줄로 나누어서 작성해야 합니다.
BigState-[0-9]*.csv
SmallState-[0-9]*.csv
BigCity-[0-9]*.csv
SmallCity-[0-9]*.csv
예를 들어 패턴 일치는 BigState-4foo.csv
모든 *
문자 시퀀스와 일치합니다. 고정된 수의 숫자만 일치시키려는 의도가 없다면 전역 패턴을 사용하면 더 나은 결과를 얻을 수 없습니다.