오늘 ZBlog 업로드 모듈을 프로그래밍할 때 기사의 파일 이름을 추출하기 위해 서브루틴을 사용해야 했습니다. 처음에는 문제를 복잡하게 만들고 가능한 모든 파일 이름을 일치시켰을 뿐만 아니라 긴 정규식 목록을 작성했습니다. 그리고 아래의 Split도 오랫동안 작업한 후 갑자기 Z-Blog에 업로드된 모든 파일이 업로드에 저장되어 있고 너무 많은 복잡한 일치 항목이 헛된 것으로 작성되었음을 발견했습니다. . . 아,낭비할 수 없군요. 혹시 나중에 형제가 필요할 경우를 대비해 포스팅하는 것이 좋습니다~~
다음 하위 프로세스는 기본적으로 비교적 좋은 보편적 매칭이라고 간주할 수 있습니다. (PS: 갑자기 CODE_LITE가 내 UBB를 탈출했다는 사실을 발견했습니다!!! 현기증, 제가 직접 탈출해야 했습니다...)
------------------------------------- ----------------------------------
Dim objRegExp,Matches,i,DC9_DOT_CN_MATCH
DimaryMatch()
Redim Preserve aryMatch(0)
objRegExp=새 RegExp로 설정
objRegExp.IgnoreCase =참
objRegExp.Global=참
objRegExp.Pattern="(?:[[^]]+]([^[]+)[/[^]]+])|(?:(?:href|src) =([^s|^>]+)[""|>|s'])"
일치 항목 설정 = objRegExp.Execute("[img]2312.jpg[/img][img]2312.jpg[/img]hh[img][/img]<a href="" src="" Dim TmpMatch
i=0에서 Matches.Count-1까지
InsertDataToArray(Matches(i).SubMatches(0),aryMatch)를 호출합니다.
InsertDataToArray(Matches(i).SubMatches(1),aryMatch)를 호출합니다.
다음
i=0에서 Ubound(aryMatch)로
IsNull(aryMatch(i)) 및 Trim(aryMatch(i))<>""가 아닌 경우 Response.write aryMatch(i)&"<br>"
다음
함수 InsertDataToArray(Data,ByRef aryMatch)
만약 Trim(Data)<>"" 그러면
데이터=바꾸기(데이터,"'","")
데이터=바꾸기(데이터,"""","")
데이터=바꾸기(데이터,"","/")
Data=분할(데이터,"/")(Ubound(분할(데이터,"/")))
Redim Preserve aryMatch(Ubound(aryMatch)+1)
DC9_DOT_CN_MATCH=거짓
j=0에서 Ubound(aryMatch)로
aryMatch(j)=Data이면 DC9_DOT_CN_MATCH=True
다음
DC9_DOT_CN_MATCH가 아닌 경우 aryMatch(Ubound(aryMatch))=Data
종료 조건
종료 기능
------------------------------------------------ --------------------------------
실제로 Z-Blog의 경우 업로드만 일치하면 됩니다(단, 문제를 해결하기 위해). , I , 그리고 더 정확하게 하기 위해 단순히 위의 일치 항목에 업로드를 추가했기 때문에 다음이 더 복잡해 보입니다. 사실 이론상으로는 다음이 더 간단해야 합니다. .) SPLit /를 다음과 같이 작성하세요.
------------------------------------- ----------------------------------
Dim objRegExp,Matches,i,ZC_UPLOAD_MATCH
DimaryMatch()
Redim Preserve aryMatch(0)
objRegExp=새 RegExp로 설정
objRegExp.IgnoreCase =참
objRegExp.Global=참
objRegExp.Pattern="(?:[[^]]+][^[]*업로드/([^[|^\|^/]+)[/[^ ]]+])|(?:(?:href|src)=""{0,1}[^s|^""|^>|^']*업로드/([^s| ^>]+)[""|>|s'])"
일치 항목 설정 = objRegExp.Execute("[img]2312.jpg[/img][img]2312.jpg[/img]hh[img][/img]<a href="" src="" Data=Replace( 데이터,"""","")
Redim Preserve aryMatch(Ubound(aryMatch)+1)
ZC_UPLOAD_MATCH=거짓
j=0에서 Ubound(aryMatch)로
aryMatch(j)=Data이면 ZC_UPLOAD_MATCH=True
다음
ZC_UPLOAD_MATCH가 아닌 경우 aryMatch(Ubound(aryMatch))=Data
종료 조건
기능 종료
출처: http://www.dc9.cn/post/279.html