저는 C# 및 Visual Studio 2010을 사용하고 있습니다. 문자열 (이 경우 경로)과 일치 시키려고 노력하고 있습니다. 알아낼 수있는 패턴을 만듭니다. 그것은 유효한 패턴이거나 그렇지 않습니다. 아래 예제는 임의로 구성되어 있지만 포함되어 있습니다.패턴 일치 경로 + 파일 (UNC?)
그래서 문자열로 들어오는 UNC 경로와 일치하는 패턴을 만들려고합니다. 예 :
"\\\\Apple-butter27\\AliceFakePlace\\SomeDay\\Grand100\\Some File Name Stuff\\Yes these are fake words\\One more for fun2000343\\myText.txt"
위는 패턴 일치를 시도하는 파일 경로의 예입니다. 나는이 패턴과 일치하려고 해요 : 내가 수익을 창출하고
@"\\\\[a-zA-Z0-9-]+\\\w+\\\w+\\\w+\\((\w+)*(\s+)*)*\\((\w+)*(\s+)*)*\\((\w+)*(\s+)*)*\\w+\.txt";
것은 내가 내 파일 (들)에 도달 할 때까지 7 개 폴더가있을 것입니다. 나는 거의 모든 세그먼트에 대해 공백, 문자 및 숫자의 콤보를 찾아야 할 것입니다.
나는 그런 내 패턴이 시도 테스트의 나의 첫 번째 반복으로 작은 비트를 일치시켜 시작해보십시오 않았다 : 내가 추가하는 경우
@"\\\\";
그리고 처음 몇 문자와 일치하는 것이기 때문에이 작동하지만, 이것에 :
@"\\\\[a-zA-Z0-9-]+";
실패합니다. 그래서 문자열이 그것을 두배로 늘려서 "\"를 두배로 늘려서 8 "\"혼자서 다시 시도해 보았지만 어쩌면 그렇게 생각했습니다.하지만 실패했습니다.
이전 패턴 내 목표는 내가 구글에 모든 웹 사이트를 통해 찾고 있었어요 "\\\\ 애플 butter27"
을 일치하는 것입니다,하지만 난 볼 수있는 패턴 중 어느 것도 UNC 물건 일치하지 않습니다 확실히 내 문제입니다.
누군가가 내가이 패턴을 잘못 이해하고 있다고 말할 수 있다면 정말 고맙겠습니다. 길다는 것을 알기 때문에 최소한 출발점이 될 것입니다. 아마도 정말로 복잡한 것일 것입니다 ...하지만 누군가가 일반적인 잘못을 지적 할 수 있다면.
\\Apple-butter27\AliceFakePlace\SomeDay\Grand100\Some File Name Stuff\Yes these are fake words\One more for fun2000343\myText.txt
나는 누군가가 불을 수 있습니다 그래서 만약 정말 나를 혼동하기 시작 그래서 UNC 경로와 일치하는 패턴을 시도하는 새로운 해요 : 그것은 문자열이 아닌 상태에서 경로이기 때문에
비록 그것은 다음과 같습니다 방법, 나는 그것을 많이 감사 할 것이다.
나는 을 사용하고 있습니다. Regex의 기능을 사용하여 패턴이 일치하는지 확인하고 일치가 성공 또는 실패한 경우 단순히 메시지를 인쇄합니다. 솔루션의 문자열이 아닌 다른 경로로 작업하는 것이 좋은 통찰력이 아니라면 필자의 주된 관심사는 패턴이다.당신이 경로가 존재하는지 확인하려는 경우
Regex가 모든 문제에 가장 적합한 도구라고 항상 가정하지 않는 것이 좋습니다! 귀하의 가정으로 인해, 이것은 [XY 문제] (http://meta.stackexchange.com/a/66378)입니다. –
Regex이 내 해결책이라고 생각합니다. 나는 그것이 특정 파일 경로를 내려가는 것을 멈추고 원하는 정보를 찾기 위해 다른 사람들을 향해 나아 가기를 원한다면 경로가 특정 방법의 원인인지 확인하고 싶다. – user3003304