2012-08-03 4 views

답변

0

감사와 안부 : 정규 표현식과 같이 이해 될 수있다

>> strrep(regexp('a/b/c//d', '(([^/]|//)*)(?=/[^/]|$)', 'match'), '//', '/') 
ans = 
    'a' 'b' 'c/d' 

은 다음과 같습니다 첫 번째 부분은주고, 어떤되지-슬래시 ([^/]) 또는 이중 슬래시를 일치 조각 ([^/]|//). 원하는 숫자가 필요하므로 *과 슬래시가없는 슬래시 또는 문자열의 끝 (/[^/]|$)이 필요합니다. 우리는 lookahead 연산자 인 (?= ...)을 사용합니다.

strrep은 ///으로 바꿉니다. 어쩌면 regexp과 동일한 호출에서 수행 할 수 있지만 이미 충분히 맛이 복잡합니다.

+0

귀하의 도움에 감사드립니다. – luke

관련 문제