정규표현식 기본 규칙 참고표
온라인 정규표현식 테스트 사이트를 활용하면 편리하다.
/*
설명:
1. 아래 정규표현식은 모두 ^로 시작하고 $로 끝나며, 전체 문자열을 대상으로 매칭한다.
2. 정규표현식 앞에는 @를 붙여야 한다. 예: bool reg = Regex.IsMatch("35_ab", @"^[0-9a-zA-Z_]{1,}$");
3. 괄호는 남용하지 않는다.
4. [0-9]와 같은 표현에는 공백이 없어야 한다. 예: [0 - 9]와 같이 작성하지 않는다.
*/
다음 콘솔 프로그램으로 정규표현식을 검증할 수 있다:
using System;
using System.Text.RegularExpressions;
namespace RegexValidationDemo
{
class Validator
{
static void Main(string[] args)
{
bool isMatch = Regex.IsMatch("_65_", @"^[0-9a-zA-Z_]{1,}$");
Console.WriteLine(isMatch ? "일치" : "불일치");
Console.ReadKey();
}
}
}
1. 영문자, 숫자, 밑줄로 구성된 문자열
^[0-9a-zA-Z_]{1,}$
2. 음이 아닌 정수 (0 및 양수)
^\d+$
3. 양의 정수
^[0-9]*[1-9][0-9]*$
4. 양수가 아닌 정수 (0 및 음수)
^((-\d+)|(0+))$
5. 음의 정수
^-[0-9]*[1-9][0-9]*$
6. 모든 정수
^-?\d+$
7. 양의 정수 또는 음이 아닌 부동소수점 수
^\d+(\.\d+)?$
8. 양의 부동소수점 수
^([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)$
9. 양수가 아닌 부동소수점 수 (0 및 음수)
^((-\d+(\.\d+)?)|(0+(\.0+)?))$
10. 음의 부동소수점 수
^-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+))$
11. 모든 부동소수점 수
^(-?\d+)(\.\d+)?$
12. 영문자로만 구성된 문자열
^[A-Za-z]+$
13. 대문자 영문자로만 구성된 문자열
^[A-Z]+$
14. 소문자 영문자로만 구성된 문자열
^[a-z]+$
15. 숫자와 영문자로 구성된 문자열
^[A-Za-z0-9]+$
16. 숫자, 영문자, 한자, 밑줄로 구성된 문자열
^\w+$
17. 이메일 주소
^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$
18. URL
^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$
19. 전화번호
^(\d{3,4}-?)?\d{7,8}$
20. IP 주소
^(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[0-9]{1,2})(\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[0-9]{1,2})){3}$
21. 한자 문자만 포함된 문자열
^[\u4e00-\u9fa5]+$
22. 문자열 시작 또는 끝의 공백
^(\s)|(\s)$
23. 계정 이름 검증 (영문자로 시작, 5-16자, 영문자/숫자/밑줄 허용)
^[a-zA-Z][a-zA-Z0-9_]{4,15}$
24. QQ 번호 (5-11자리, 첫 자리 0 불가)
^[1-9][0-9]{4,10}$
25. 숫자만 입력
^[0-9]+$
26. n자리 숫자만 입력
^\d{n}$
27. 최소 n자리 숫자 입력
^\d{n,}$
28. m ~ n자리 숫자 입력
^\d{m,n}$
29. 0 또는 0이 아닌 숫자로 시작하는 숫자
^(0|[1-9][0-9]*)$
30. 소수점 두 자리 양의 실수
^[0-9]+\.[0-9]{2}$
31. 소수점 1~3자리 양의 실수
^[0-9]+\.[0-9]{1,3}$
32. 0이 아닌 양의 정수
^\+?[1-9][0-9]*$
33. 0이 아닌 음의 정수
^\-[1-9][0-9]*$
34. 정확히 3자리 문자열
^.{3}$
35. 숫자와 영문자로 구성된 문자열 (중복)
^[A-Za-z0-9]+$
36. 숫자, 영문자, 밑줄 또는 한자로 구성된 문자열 (중복)
^\w+$
37. 특수 문자 포함 여부 검사 (% & ', ; = ? $ \ " 등)
[%&',;=?$\\]+