Regex newbie here. '\'로 끝나는 Windows 경로 이름 및 UNC 경로와 일치하는 정규식이 있습니다.Ruby Regex optimization
근무 예 : 잘못된
c:\windows\
c:\
\\server\share\
\\server\sh are\
: (적어도 난 그렇게 희망) 그러나 예상대로
c:\windows
\\server
\\server\share
\\server\ share \
, 그것은 작동하지만, 그것은 매우 확대됨에 꽤 읽을하지, 그래서 어떤 팁 최적화가 크게 평가됩니다 ...
/\A(
([a-z]:\\(([a-zA-Z0-9äöüÄÖÜß_.$]+|[a-zA-Z0-9äöüÄÖÜß_.$]+[a-zA-Z0-9äöüÄÖÜß_.$\ ]*[a-zA-Z0-9äöüÄÖÜß_.$]+)\\)*)|
(\\\\(([a-zA-Z0-9äöüÄÖÜß_.$]+|[a-zA-Z0-9äöüÄÖÜß_.$]+[a-zA-Z0-9äöüÄÖÜß_.$\ ]*[a-zA-Z0-9äöüÄÖÜß_.$]+)\\)+(([a-zA-Z0-9äöüÄÖÜß_.$]+|
[a-zA-Z0-9äöüÄÖÜß_.$]+[a-zA-Z0-9äöüÄÖÜß_.$\ ]*[a-zA-Z0-9äöüÄÖÜß_.$]+)\\)+)
)\z/
엄청난 수의 유효한 파일 이름을 놓치고 있습니다 (많은 다른 문자가 허용됩니다). 문제가 아닙니까? 그리고 당신은 많은 잘못된 파일 이름을 허용하고 있습니다 (예를 들어'con.txt'). 당신은 정확히 무엇을 할 계획입니까? 유효성 검사? –
또한 Ruby 버전은 무엇입니까? –
이것에 대한 정보가 부족해서 죄송합니다. Ruby 1.9를 사용하고 있습니다. 유효성을 확인하려고합니다 ... – tobmatth