본문 바로가기

C#

Regex 메타문자 예시

728x90

1. .

임의의 한문자
ex) s.e -> sae, sbe, sce, sde 등, .ce -> ace, bce, cce, 등등

2. *

바로 앞의 문자가 없거나 하나 이상
ex) s*e -> e, se, see, ssse 등, abc* -> ab, abc, abcc, abccc 등

3. +

바로 앞의 문자가 하나 이상
ex) s+e -> se, sse, ssse 등

4. ?

바로 앞의 문자가 없거나 하나
ex) th?e -> e, the

5. ^

바로 뒤에 문자열로 시작

ex)

  • ^The -> 뒷부분부터 공백까지 검사 -> The girl is, Theater
  • ^a?bc -> bc, abc 등
  • ^.e -> he, me, request, settle 등
  • ^s.e? -> e는 나와도 되고 안 나와도 되고 -> sa, sae, sb, sbe 등

6. $

바로 앞의 문자열로 종료

ex)

  • a?bc$ -> eeabe, seebc, bc 등
  • +.e$ -> onthetoe, bctac, appetittle 등
  • s?c+$ -> e, se, ee, eee, seee 등

7. [  ]

[] 안에 있는 문자중 하나
범위는 - 로 지정

ex)

  • [ab]cd -> acd, bcd
  • [a-z] -> 영문 소문자
  • [a-zA-Z] -> 영문자
  • [0-9] -> 숫자
  • [^a-zA-Z0-9] -> ^이 안으로 들어가면 제외의 의미. 영문자나 숫자로 시작 x
  • ag[a-z] -> aga, agbcd, agzzz 등
  • ^ab[cd]ef -> abcef, abdef 등
  • ^[a-zA-Z] -> 영문자로 시작. 아이디 검사할 때 첫글자가 영문자와 _만 쓰도록 할 때는 ^[a-zA-Z_]
  • [^a-zA-Z0-9] -> ^이 안으로 들어가면 제외의 의미. 영문자나 숫자로 시작 x
  • [a-zA-Z0-9]$ -> 영문자나 숫자로 종료
  • ^[가-힣] -> 한글로 시작해야 할 때
  • "[가-힣]" -> 완성형인 한글만. ㅋㅋㅋ 같은 조합은 안 됨
  • "[abc]" -> 이 안에 있는 문자 중에 하나. 즉, a b c 중에 하나의 문자. C#문법으로 치면 ("a" || "b" || "c")

8. {  }

{} 앞의 문자나 문자열 출현 횟수, 스키마에서 min/maxoccur과 같은 개념

ex)

  • a{2}b -> aab 등. a가 꼭 2번 나와야 한다는 뜻
  • a{2,}b -> aab, aaab, aaaab 등. a가 최소 2번 이상 나오도록 하라는 뜻
  • a{2,3}b -> a가 최소 2번 최대 3번 나오도록 하라는 뜻

9. (  )

() 안에 있는 문자를 그룹화

  • a(bc){2} -> abcbc 등. a 다음 bc가 2번 나와야 한다는 뜻
  • a(bc)* -> abcbcbc 등. a 다음 bc의 출현횟수는 무한대라는 뜻

10. |

or 연산자
ex) (he|she)is -> heis, sheis

[출처]

https://durubiz.tistory.com/entry/C-%EC%97%90%EC%84%9C-%EC%A0%95%EA%B7%9C%ED%91%9C%ED%98%84%EC%8B%9D-RegexIsMatch-%EC%9D%B4%EC%9A%A9#google_vignette

728x90