사용자 도구

사이트 도구


kb:windowsscriptregularexpression

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

kb:windowsscriptregularexpression [2014/11/08 16:28] (현재)
줄 1: 줄 1:
 +====== Windows Script Regular Expression ======
 +윈도우즈 스크립트에서 정규식을 사용해보아요
 +
 +정규식을 사용하기 위해서는 스크립트 버전의 엔진이 5.0 이상이어야 한다. 스크립트 엔진의 버전은 간단히 확인할 수 있다.
 +<code vb>
 +WScript.Echo WScript.version
 +</​code>​
 +
 +====== 검색 ======
 +검색에는 2가지 방법이 있다. ​
 +
 +**Test** 함수는 단순히 해당 문자열이 있는지 없는지의 여부만을 반환한다.
 +<code vb>
 +StringToSearch = "​http://​www.foo.com"​
 +
 +Set RE = New RegExp
 +
 +With RE
 +    .Pattern = "​.com"​
 +    .IgnoreCase = True
 +    .Global = True
 +End With
 +
 +Match = RE.Test(StringToSearch)
 +
 +If Match Then
 +    WScript.Echo RE.Pattern & " was found in " & StringToSearch
 +Else
 +    WScript.Echo RE.Pattern & " was not found in " & StringToSearch
 +End If
 +
 +Set RE = nothing
 +</​code> ​
 +
 +**Execute** 함수는 일치하는 문자열과 그 위치를 반환한다.
 +<code vb>
 +StringToSearch = "ASP, asp, Asp"
 +
 +Set RE = New RegExp
 +
 +With RE
 +    .Pattern = "​ASP"​
 +    .IgnoreCase = False
 +    .Global = True
 +End With
 +
 +Set MatchList = RE.Execute(StringToSearch)
 +
 +If MatchList.Count > 0 Then
 +    For Each Match In MatchList
 +        WScript.Echo Match.Value & " was matched at position " & Match.FirstIndex
 +    Next
 +Else
 +    WScript.Echo RE.Pattern & " was not found in the string: " & StringToSearch
 +End If
 +
 +Set RE = nothing
 +</​code>​
 +
 +Match 객체는 FirstIndex, Length, Value, SubMatches 4개의 속성을 가진다. FirstIndex는 문자열의 시작 위치를 의미하고,​ Length는 문자열의 길이를 의미하며,​ Value는 일치하는 문자열을 나타낸다. SubMatches는 정규식이 그룹화되어 있는 경우, 각각의 그룹을 나타낸다. SubMatches.Count는 그룹의 숫자를 나타내고,​ 각각의 그룹 문자열은 SubMatches.Item(index) 함수를 통해 액세스할 수 있다.
 + 
 +
 +====== 치환 ======
 +치환은 **Replace** 함수를 이용하면 된다.
 +<code vb>
 +InitialString = "​www.foo.co.uk"​
 +
 +Set RE = New RegExp
 +
 +With RE
 +    .Pattern = "​.co.uk"​
 +    .IgnoreCase = True
 +    .Global = True
 +End With
 +
 +ReplacedString = RE.Replace(InitialString,​ "​.com"​)
 +
 +WScript.Echo "​Replaced " & InitialString & " with " & ReplacedString
 +
 +Set RE = nothing
 +</​code>​
 +
 +====== 링크 ======
 +  * [[http://​authors.aspalliance.com/​brettb/​VBScriptRegularExpressions.asp | VBScript Regular Expressions]]
 +  * [[http://​www.somacon.com/​p138.php | VBScript Regular Expression Functions]]
 +  * [[http://​msdn.microsoft.com/​library/​default.asp?​URL=/​library/​en-us/​dnclinic/​html/​scripting051099.asp | Microsoft Beefs Up VBScript with Regular Expressions]]
 +
 +----
 +  * see also [[WindowsScript]],​ [[RegularExpression]]
  
kb/windowsscriptregularexpression.txt · 마지막으로 수정됨: 2014/11/08 16:28 (바깥 편집)