정규식 (Big|Small)(State|City)-[0-9]*\.csv에 해당하는 .gitignore 패턴은 무엇입니까?

정규식 (Big|Small)(State|City)-[0-9]*\.csv에 해당하는 .gitignore 패턴은 무엇입니까?

나는 다음과 .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모든 *문자 시퀀스와 일치합니다. 고정된 수의 숫자만 일치시키려는 의도가 없다면 전역 패턴을 사용하면 더 나은 결과를 얻을 수 없습니다.

관련 정보