경로 구분자는 운영체제마다 달라
Unix 계열은 /를 사용하고 Windows는 \를 기본 구분자로 사용해. 현대 Windows가 /도 받아들이는 경우가 있어도 드라이브 문자, 네트워크 경로, 예약 이름 같은 규칙까지 생각하면 정규식 하나로 실제 경로를 판정하기는 어려워.
제한된 텍스트에서 찾는 패턴은 만들 수 있어
단순한 Unix식 경로 후보는 다음처럼 표현할 수 있어.
(?:/?[\w.-]+)+/?
확장자가 있는 단순 파일 이름은 ([\w-]+)\.(\w+)$, 마지막 점 뒤의 확장자만 필요하면 \.([^.]+)$로 찾을 수 있어.
긴 텍스트 안에서 ./, /, ~/로 시작하는 후보를 찾는 예시는 이래.
(?:\./|/|~/)[\w./-]+
이 패턴들은 허용 문자를 일부로 제한한 검색용 예시지, 모든 유효한 파일 이름과 경로를 검증하는 규칙은 아니야.
경로를 조작할 때는 전용 라이브러리를 써
Python의 pathlib.Path는 .name, .stem, .suffix, .parent, .parts로 경로를 안전하게 나눠 줘. JavaScript의 path, Go의 path/filepath도 같은 역할을 해. 정규식은 더 큰 글에서 경로처럼 보이는 후보를 찾는 데만 사용해.