정규식
최고관리자
본문
본 문서의 저작권은 anti-nhn license에 따릅니다.
*본 페이지에는 자바스크립트가 많이 들어있습니다. 자바스크립트가 실행되지 않으면 제대로 보이지 않습니다.
*본 페이지는 IE용 태그를 사용하였으므로, firefox 등에서는 정상작동하지 않을 수 있습니다.
*테스트를 해보실라문 요기를 클릭
*본 페이지는 IE용 태그를 사용하였으므로, firefox 등에서는 정상작동하지 않을 수 있습니다.
*테스트를 해보실라문 요기를 클릭
차례
- 1. 정규식이란?
- 2. 정규식 만들기
- 3. 정규식 표현법
- 4. 정규식 사용 예제
- 5. Javascript 정규식 함수
- 6. 정규식으로 만든 유용한 Javascript 함수
- 7. Java 정규식 함수
1. 정규식이란?
- String의 검색,치환,추출을 위한 패턴.
- 언어별 사용법은 대동소이함.
- 패턴예>전화번호 형식, 이메일 형식 등.
2. 정규식 만들기
- Javascript
-
var regexp = /pattern/[flags] ;
var test = regexp.test(to be checked) -
var regexp = new RegExp("pattern"[, "flags"]);
var test = regexp.test(to be checked) - flags for javascript
- g : global match, 일반적으로 패턴이 1번만 발견되면 찾기를 종료하지만, g flag가 있으면, 문자열 내에서 모든 패턴을 찾는다.
- i : ignore case, 대소문자를 고려하지 않고 체크한다.[a-z]와 [A-Z]는 같은 표현이 된다.
- m : match over multiple lines, 여러 줄에 걸쳐 체크를 한다.
-
- Java
- java.util.regex package
-
Pattern p = Pattern.compile("pattern");
Matcher m = p.matcher("string to be checked");
boolean b = m.matches(); -
boolean b = Pattern.matches("pattern", "string to be checked");
3. 정규식 표현법
*ⓥ는 valid, ⓘ는 invalid*두꺼운 글씨체는 매칭되는 부분.
*예제는 javascript 기준이며, 언어에 따라 다소 차이가 발생할 수 있다.
문자 | 용도 | 예제 |
---|---|---|
\ |
|
|
^ | 문자열의 시작. []안에서는 not의 의미 * ^A는 "A로 시작"이라기 보다는 "시작 직후에 A가 나온다"는 의미로 해석하는 것이 좋다. 즉, 시작과 끝과 같은 빈 공간을 하나의 문자로 간주하는 것이 좋다. |
|
$ | 문자열의 마지막 |
|
* | 0번 이상 반복 | |
+ | 1번 이상 반복 ( = {1,} ) | |
? | 0번 이나 1번 | |
. | new line 을 제외한 모든 글자 | |
(x) | x를 체크하고 체크한 값을 변수로 저장 | |
(?:x) | x를 체크하고 체크한 값을 변수로 저장하지 않음 | |
x|y | x 또는 y | |
x(?=y) | x후에 y가 나오고, x부분만 매칭되는 부분으로 간주 | |
x(?!y) | x가 나오고 그 뒤에 y가 있으면 안 됨 | |
{n} | 앞에 지정한 것이 n개 | |
{n,} | 앞에 지정한 것이 n개 이상 | |
{n,m} | 앞에 지정한 것이 n~m개 | |
[xyz] | x나 y나 z. []안에는 얼마든지 쓸 수 있다. | |
[x-z] | x에서 z까지 | |
[^xyz] | x,y,z를 제외한 나머지 모든 것 | |
[\b] | 백스페이스. \b와 혼동하지 말것. | 일반적인 String에서는 \b가 백스페이스를 의미한다. |
\b | 단어의 경계.[\b]와 혼동하지 말것. | |
\B | \b 를 제외한 전부 | |
\cX | 컨트롤X와 매칭. \cM은 컨트롤M과 매칭 | |
\d | 숫자.[0-9]와 같음 | |
\D | \d 를 제외한 전부 | |
\f | form-feed | |
\n | new line | |
\r | carriage return | |
\s | white space ex>탭, 띄어쓰기, \n, \r |
|
\S | \s 를 제외한 전부 | |
\t | 탭 | |
\v | vertical tab | |
\w | 알파벳+숫자+_. [A-Za-z0-9_]와 동일 | _가 <b>를 먹여도 별로 티가 안 난다. |
\W | \w 빼고 전부 | |
\n | \n이 자연수일때, ()로 지정한 n번째 정규식 | (th)가 \1로 지정된다. |
\xhh | hh는 hexacode, | Code table 보기 |
\uhhhh | hhhh는 hexacode, | 코드 번호> 3131:ㄱ 3163:ㅣ ac00:가 d7a3: |
관련링크
- http://kio.zc.bz/Lecture/regexp.html 1988회 연결
댓글목록
등록된 댓글이 없습니다.