게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
뜬금없이 정규표현식
게시물ID : programmer_576짧은주소 복사하기
작성자 :
추천 : 10
조회수 : 1645회
댓글수 : 13개
등록시간 : 2014/01/19 01:24:11
프로그래밍 게시판이 생겼으니, 그냥 아무 글이나 싸질러 봅니다ㅋ

저는 얼마 전 개발 회사에 인턴으로 들어갔습니다. 이전에는 무역 회사의 개발자였지만, 미래를 위해 이직했습니다. 연봉 마이너스 천 이상....ㅠㅠ

어쨌든 여기 와서 동기 인턴들과 참 여러 가지 과제를 부여 받았습니다. (지금도 과제해야 되는데 하기 싫어서 글쓰는 건 안 자랑...)

그 중에는 정규표현식을 쓰면 간단한 과제들도 있었지요. 그런데 다들 정규표현식을 어려워 하더라고요.

정규표현식은 여러 곳에 많이 쓰입니다. 꼭 배워 두시면 인생이 편해져요ㅋ

몇 가지만 알면 금방 익힐 수 있습니다.


기본 개념: 문자열에서 특정 패턴을 찾아낸다!

^ : 문자열의 시작
$ : 문자열의 끝
() : 그룹
[] : 패턴
+ : 한 개 이상 존재
* : 0개 이상 존재
? : 있거나 없거나
{m,n} : m개 이상, n개 이하 존재
{n} : n개가 존재
{m,} : m개 이상 존재
. : 모든 문자
\\ : 이스케이프 (위의 특별한 의미가 있는 것들을 그냥 문자로 쓸 때 씀. ex) \\. : 모든 문자가 아닌 점 한 개 )

이 정도만 알면 됩니다. 프로그래밍 언어별로 조금씩 다른 게 있기도 하지만 별반 차이가 없습니다.

아래는 응용...

[A-Z] : 대문자 알파벳 1개
[A-Z]+ : 대문자 알파벳 1개 이상
[A-Z]* : 대문자 알파벳 0개 이상
[A-Z]? : 대문자 알파벳 1개가 있거나 없거나
[A-Z]{2,3} : 대문자 알파벳이 2개나 3개
[A-Z]{2,5} : 대문자 알파벳이 2개나 3개나 4개나 5개

[A-Za-z0-9] : 대문자/소문자 알파벳이나 숫자가 1개
[A-Za-z0-9-_] : 대문자/소문자 알파벳이나 숫자나 -(대시)나 _(언더바)가 1개

^[A-Z]+$ : 대문자 알파벳으로만 이루어진 문자열
^abc : abc로 시작하는 문자열
abc$ : abc로 끝나는 문자열
^.....$ : 아무 문자나 5개가 있는 문자열
^(.*)$ : 아무 문자나 0개 이상 있는 문자열
^(.+)$ : 아무 문자가 1개 이상 있는 문자열

^[A-Za-z0-9-_]+@[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]+(\\.[A-Za-z0-9-_]+)*$ : 간단한 이메일 주소 패턴

위 이메일 패턴을 잘라보면 아래와 같습니다.

^ : 문자열의 시작
[A-Za-z0-9-_]+ : 아이디 부분
@ : 골뱅이가 1개
[A-Za-z0-9-_]+ : 도메인 앞부분 (todayhumor.co.kr의 todayhumor 부분)
\\. : 점이 1개
[A-Za-z0-9-_]+ : 도메인 뒷부분 (todayhumor.co.kr의 co부분)
( : 여기부터 그룹으로 묶음
\\. : 점이 1개
[A-Za-z0-9-_]+ : 도메인 뒷부분 (todayhumor.co.kr의 kr 부분)
)* : 여기까지 그룹으로 묶는데, 이 그룹은 0개 이상 존재함
$ : 문자열의 끝

kr 부분을 그룹으로 묶어서 표현한 것은 .com, .net, .org 처럼 kr부분이 없는 도메인이 있기 때문입니다.


-------------------------
흠... 아무도 안 궁금해 하는 뻘글 쓰다보니 과제 해야겠다는 생각이 드네요 ~_~
모두 안녕~
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호