정규 표현식에서 반복 패턴을 적용하는 방법을 파악하는 데 어려움이 있습니다.정규식의 무한 반복 패턴
foo/../
../../
bar/../
something/../
skipthis/../
:이 조건의
.*\/
부로
/foo/../../bar/../something/../results/in/skipthis/
본다 때문에
$path = '/foo/../../bar/../something/../results/in/skipthis/../this/';
$vpath = preg_replace('/(.*\/\.\.\/)/', '/', $path);
상기 정규식 그러나 다음과 같은 목록을 일치한다 /foo/../../bar/../something/../results/in/skipthis/../
일치 :
다음 문제를 보여주는 예이다
그리고 그에 따라 교체하십시오. 내가 기대하는 결과에는 슬래시가 없습니다. 모든 결과의 목록입니다. 첫 번째 일치 항목의 시작 부분에서 시작하여 마지막 부분의 끝 부분에서 끝나는 넓은 결과가 아닙니다. 찾은 성냥.
위의 목록은 내가 기대하는 것입니다. 그러나 정규식은 무한한 .*/../
과 일치해야합니다.
미리 감사드립니다.
나는 이것을 풀었다고 믿는다.'([\ w \ d \ s \ \ \ \] +?) \/\. \. \ /' –
자신의 대답을 추가하고 올바른 것으로 표시하십시오. 다른 사람들은 그 해결책이 무엇인지 알 수 있습니다.) –
아주 가깝습니다 ... 일치하지 않는 것 같습니다 ./../. 나는 그것이 모든 것을 일치 시키도록 어떤 방법으로 생각할 필요가있다. –