Visual C# 및 정규식을 사용하여 패턴 일치
이 단계별 문서에서는 정규식을 만들고 사용하여 문자열이 특정 패턴과 일치하는지 여부를 확인하는 방법을 소개합니다.
원래 제품 버전: Visual C#
원래 KB 번호: 308252
요약
정규식을 사용하면 문자열을 특정 패턴으로 쉽게 구문 분석하고 일치할 수 있습니다. 네임스페이스에서 사용할 수 있는 RegularExpressions
개체를 사용하여 문자열을 지정된 패턴과 비교하거나, 문자열 패턴을 다른 문자열로 바꾸거나, 서식이 지정된 문자열의 일부만 검색할 수 있습니다. 이 예제에서는 전자 메일 주소의 유효성을 검사하는 패턴을 생성합니다. 이 문서에서는 Microsoft .NET Framework 클래스 라이브러리 네임스페이스 를 참조합니다System.Text.RegularExpressions
.
요구 사항
이 문서에서는 다음과 같은 topics 잘 알고 있다고 가정합니다.
- Visual C#
- 정규식 구문
정규식을 사용하여 패턴 일치
Visual C#을 시작합니다.
새 Visual C# 콘솔 애플리케이션을 만듭니다.
코드의 뒷부분에서 해당 네임스페이스에서 선언을
Text.RegularExpressions
한정할 필요가 없도록 네임스페이스에서 using 키워드(keyword) 지정합니다. using 문은 다른 선언 전에 사용해야 합니다.using System.Text.RegularExpressions;
패턴 일치를 사용하여 전자 메일 주소의 유효성을 검사하는 새 정규식을 정의합니다. 다음 정규식은 세 가지를 수행하도록 구성됩니다.
- 기호 앞에 있는 부분 문자열을
@
캡처하여 그룹에 넣습니다user
. - 기호 뒤의 부분 문자열을
@
캡처하여 그룹에 넣습니다host
. - 문자열의 첫 번째 절반에 기호가
@
없는지 확인합니다.
Regex emailregex = new Regex("(?<user>[^@]+)@(?<host>.+)");
- 기호 앞에 있는 부분 문자열을
유효한 전자 메일 주소를 포함하는 새 문자열을 정의합니다. 메서드의 명령줄 인수가 비어 있는 경우 기본값을 제공합니다.
String s = "johndoe@tempuri.org";
명령줄 매개 변수가 있는지 확인합니다. 있는 경우 첫 번째 매개 변수를 검색하고 변수
s
에 할당합니다.if (args.Length > 0) { s = args[0]; }
메서드를
Match
사용하여 전자 메일 주소 변수를 전달하고 새Match
개체를 반환합니다. 개체는Match
원본 문자열에서 일치하는 항목이 있는지 여부에 관계없이 를 반환합니다.Match m = emailregex.Match(s);
속성을 검사하여
Success
개체 처리를Match
계속할지 아니면 오류 메시지를 인쇄할지 결정할 수 있습니다. 성공하면 개체의user
컬렉션 내에 및host
명명된Groups
그룹을 표시합니다Match
.if (m.Success) { Console.WriteLine ("User: " + m.Groups["user"].Value); Console.WriteLine ("Host: " + m.Groups["host"].Value); } else { Console.WriteLine (s + " is not a valid email address"); } Console.WriteLine ();
애플리케이션을 실행한 후 콘솔 창을 열어 두려면 다음 코드 줄을 추가합니다.
System.Console.WriteLine("Press Enter to Continue..."); System.Console.ReadLine();
프로젝트를 빌드합니다.
코드에 지정된 기본 전자 메일 주소를 사용하여 개발 환경에서 애플리케이션을 실행하려면 F5 키를 누르거나 디버그 메뉴에서 시작을 선택합니다. 명령줄 인수를 사용하여 애플리케이션을 시작하려면 다음 세 가지 옵션이 있습니다.
- 프로젝트 메뉴에서 속성을 클릭한 다음 디버그를 클릭합니다. 오른쪽 창의 시작 옵션 섹션에서 테스트할 전자 메일 주소를 지정합니다. F5 키를 누르거나 디버그 메뉴에서 시작을 클릭하여 애플리케이션을 실행합니다.
- 명령 창을 시작하고 프로젝트가 있는 폴더 아래의 bin 또는 디버그 폴더로 이동합니다. 그런 다음 실행 파일의 이름 다음에 테스트할 전자 메일 주소를 입력합니다.
- 이 프로젝트에 대한 실행 파일을 찾아 서 시작...으로 끌어옵니다. 작업 표시줄에서 창을 실행합니다. 확인할 전자 메일 주소를 추가하고 확인을 클릭합니다.
참조
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기