[Visual Basic] 비주얼베이직 스크립트 (VBScript), 정규표현식 예제
아래 정규표현식 예가 있으며, 입맛에 맞게 쓸 수 있다.
1. [ ]
[]사이의 문자들과 매치, [abc]의미는 문자열에서 a,b,c가 하나라도 들어가면 모두 찾음. 거꾸로 a,b,c가 하나도 없는것은 제외
2. [a-e]
하이픈 - 는 범위를 의미, a-e = abcde 를 의미. 마찬가지로 a,b,c,d,e가 들어간 문자열을 모두 찾음. 거꾸로 없으면 제외
3. [a-zA-Z]
모든 알파벳을 의미, [0-9] : 모든 숫자를 의미,
4. ^
거꾸로(NOT)를 의미. 만약 [^abc]를 하면 a,b,c가 들어가지 않은 모든 문자를 찾음
5. .
모든문자를 의미, a.b 는 a와 b사이에 있는 모든문자를 의미
6. a[.]b
의미는 문자열 그자체가 "a.b" 와 매칭되는 것을 찾음. 괄호내부에[.]있으므로,
마침표 문자 그 자체를 의미 (메타정보가 아님)
7. *
ca*t 는 a가 0번이상 반복되는 것을 찾음 (c와 t사이)
8. +
ca+t 는 a가 1번이상 반복되는 것을 찾음 c + a(1번 이상 반복) + t
9. ca{2}t
c와 t사이, a가 반드시 2번 반복
10. ca{2,5}t
c와 t사이, a가 반드시 2번~5번 연속 나오는 것을 찾음
11. ab?c
a와 c사이, b가 있어도되고, 없어도 됨
아래 VBscript를 이용한 정규표현식 예제 코드. 입맛에 맞게 변경해서 사용.
' [] : []사이의 문자들과 매치, [abc]의미는 문자열에서 a,b,c가 하나라도 들어가면 모두 찾음. 거꾸로 a,b,c가 하나도 없는것은 제외
' [a-e] : 하이픈 - 는 범위를 의미, a-e = abcde 를 의미. 마찬가지로 a,b,c,d,e가 들어간 문자열을 모두 찾음. 거꾸로 없으면 제외
' [a-zA-Z] : 모든 알파벳을 의미, [0-9] : 모든 숫자를 의미,
' ^ : 거꾸로(NOT)를 의미. 만약 [^abc]를 하면 a,b,c가 들어가지 않은 모든 문자를 찾음
' . : 모든문자를 의미, a.b 는 a와 b사이에 있는 모든문자를 의미
' a[.]b : 의미는 문자열 그자체가 "a.b" 와 매칭되는 것을 찾음. 괄호내부에[.]있으므로, 마침표 문자 그 자체를 의미 (메타정보가 아님)
' * : ca*t 는 a가 0번이상 반복되는 것을 찾음 (c와 t사이)
' + : ca+t 는 a가 1번이상 반복되는 것을 찾음 c + a(1번 이상 반복) + t
' ca{2}t : c와 t사이, a가 반드시 2번 반복
' ca{2,5}t : c와 t사이, a가 반드시 2번~5번 연속 나오는 것을 찾음
' ab?c : a와 c사이, b가 있어도되고, 없어도 됨
' strid = "welcome.user@tutorialspoint.co.us"
strid = "welcome.user#tutorialspoint.co.us"
' 정규표현식 선언을 위한 오브젝트 불러오기
' with문 사용하기
' objRegExp.Pattern
' objRegExp.IgnoreCase <= 원래 이런식으로 써야 하지만, with문을 쓰면 아래와 같이 깔끔하게 가능.
Dim objRegExp : Set objRegExp = new Regexp
With objRegExp
.Pattern = "^[\w-\.]{1,}\@([\da-zA-Z-]{1,}\.){1,}[\da-zA-Z-]{2,3}$"
.IgnoreCase = False
.Global = False
End With
' Test method returns TRUE if a match is found
If objRegExp.Test( strid ) Then
msgbox(strid & " is a valid e-mail address")
Else
msgbox(strid & " is NOT a valid e-mail address")
End If
Set objRegExp = Nothing
활용 예제 코드.
정규표현식 중간에 특정 문자와 숫자가 들어갈 때 해당 줄(Line) 찾기
https://ansan-survivor.tistory.com/1869
정규표현식 특정 문자로 시작할 때 줄 (Line) 찾기
https://ansan-survivor.tistory.com/1868
파일에서 특정 문자열 추출하기 (export specific String )
https://ansan-survivor.tistory.com/1867