1. 유효한 이메일 형식 확인
다음 코드 예제에서는 정적 Regex.IsMatch 메서드를 사용하여 문자열이 유효한 이메일 형식인지 확인합니다. IsValidEmail 메서드는 문자열에 유효한 이메일 주소가 포함되어 있으면 true를 반환하고, 그렇지 않으면 false를 반환하지만 다른 작업은 수행하지 않습니다. IsValidEmail을 사용하면 응용 프로그램이 주소를 데이터베이스에 저장하거나 ASP.NET 페이지에 표시하기 전에 잘못된 문자가 포함된 전자 메일 주소를 필터링할 수 있습니다.
[비주얼베이직]
함수 IsValidEmail(strIn As String) As Boolean
' strIn이 유효한 전자 메일 형식이면 true를 반환합니다.
Regex.IsMatch(strIn, ("^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[를 반환합니다. 0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3 })(]?)$")
함수 종료
[C#]
bool IsValidEmail(문자열 strIn)
{
// strIn이 유효한 이메일 형식이면 true를 반환합니다.
return Regex.IsMatch(strIn, @"^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[ 0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3 })(]?)$");
}
2. 입력 문자열 정리
다음 코드 예제에서는 정적 Regex.Replace 메서드를 사용하여 문자열에서 잘못된 문자를 추출합니다. 여기에 정의된 CleanInput 메서드를 사용하여 사용자 입력을 허용하는 양식의 텍스트 필드에 입력된 잠재적으로 유해한 문자를 정리할 수 있습니다. CleanInput은 @, -(하이픈) 및 마침표를 제외한 모든 영숫자가 아닌 문자를 정리한 후 문자열을 반환합니다.
[비주얼베이직]
함수 CleanInput(strIn As String) As String
' 잘못된 문자를 빈 문자열로 바꿉니다.
Regex.Replace(strIn, "[^w.@-]", "") 반환
함수 종료
[C#]
문자열 CleanInput(문자열 strIn)
{
// 유효하지 않은 문자를 빈 문자열로 바꿉니다.
return Regex.Replace(strIn, @"[^w.@-]", "");
}
3. 날짜 형식 변경
다음 코드 예제에서는 Regex.Replace 메서드를 사용하여 mm/dd/yy의 날짜 형식을 dd-mm-yy의 날짜 형식으로 바꿉니다.
[비주얼베이직]
함수 MDYToDMY(문자열로 입력)를 문자열로
Regex.Replace(입력, _
"b(?<월>d{1,2})/(?<일>d{1,2})/(?<연도>d{2,4})b", _
"${일}-${월}-${년}")
함수 종료
[C#]
문자열 MDYToDMY(문자열 입력)
{
Regex.Replace(입력,
" \b(?<월>\d{1,2})/(?<일>\d{1,2})/(?<연도>\d{2,4})\ 비 ",
"${일}-${월}-${년}");
}
Regex 교체 패턴
이 예에서는 Regex.Replace의 교체 패턴에서 명명된 역참조를 사용하는 방법을 보여줍니다. 여기서 대체 표현식 ${day}는 (?<day>...) 그룹에서 캡처한 하위 문자열을 삽입합니다.
Regex.Replace 함수는 명시적인 정규식 개체를 만들지 않고도 정규식으로 작업할 수 있게 해주는 여러 정적 함수 중 하나입니다. 이는 컴파일된 정규식을 유지하지 않으려는 경우에 편리합니다.
4. URL 정보 추출
다음 코드 예제에서는 Match.Result를 사용하여 URL에서 프로토콜과 포트 번호를 추출합니다. 예를 들어 "http://www.contoso.com:8080/letters/readme.html"은 "http:8080"을 반환합니다.
[비주얼베이직]
함수 확장(url을 문자열로)을 문자열로
새로운 정규식으로 Dim r("^(?<proto>w+)://[^/]+?(?<port>:d+)?/", _
RegexOptions.컴파일됨)
r.Match(url).Result("${proto}${port}")를 반환합니다.
함수 종료
[C#]
문자열 확장자(문자열 URL)
{
정규식 r = 새로운 정규식(@"^(?<proto>w+)://[^/]+?(?<포트>:d+)?/",
RegexOptions.컴파일됨);
return r.Match(url).Result("${proto}${port}");
}