정의
문자열 안에서의 일정한 패턴을 표현하기 위한 표현식을 말한다.
정규표현식 만들기
Javascript
var p = /pattern string/;
var result = p.test(“data”);
Java
// 정규 표현을 패턴에 컴파일
Pattern p = Pattern.compile(“pattern string”);
// 입력과 이 패턴을 매치하는 정규 표현 작성
Matcher m = p.matcher(“data”);
// 입력과 그 정규 표현 매치
boolean result = m.matches();
또는
// 예외, PatternSyntaxException 표현의 구문이 무효인 경우
boolean result = Pattern.matches(“pattern string”, “data”);
정규표현식 구문
문자 | 설명 | 예제 | TRUE | FALSE |
. | 하나의 문자 | a.b | a$b/ a1b | ab |
? | 문자가 없거나 또는 하나의 문자 | a?b | a2b/ ab | ac |
+ | 앞 문자의 반복 | ab+ | ab/ abbbbb | abaaa |
* | 문자가 없거나 앞 문자의 반복 | ab* | ab/ abbbbb | abac |
^ | 문자열의 시작 | ^[a] | a | 2/ b |
[^] | 관호안에 문자를 제외한 | [^a] | b/ #/ 1 | a |
| | or 연산자 | [a|b]* | abaabba | ac/ abbac |
& | and 연산자 | [a&b]* | aba | abc |
$ | 문자열의 끝을 의미 | ab$ | ab |
|
[] | 괄호안의 형식이 일치하는 경우 | [ab]/ [a-d[m-p]] | a/ b/ m | f/ am |
() | 내용을 묶고 싶은 경우 | (ab)* | ababab | aabb |
{} | 앞 문자의 길이 지정, {1}은 생략 가능 | [a-b]{2} | ab/ aa/ bb | abb |
\s | space | \\s. | ' 'a | aa |
\S | space가 아닌 | \\S. | aa | a' ' |
\d | decimal | \\d. | 2b | bb |
\D | decimal이 아닌 | \\D. | bb | 2b |
\w | 특수 기회 제외 | \\w. | aa/ 2a | @a/ ^^ |
\W | 특수 기호만 | \\W. | ^a/ $$ | aa/ 2a |
구문의 결합 예시
조합 | 설명 | 예제 | TRUE | FALSE |
+$ | +와 같은 효과 | a+$ | aaaaaaaaa | aaaaabb |
.* | 모든 문자열 | .*b | @#Sasdb | bsadasd |
.*+ | 모든 문자열 | .*+b | @#Sasdb | bsadasd |
.\\d | 십진수가 아닌 하나의 문자 | .\\d | @/ a | 1/ asd |
.+\\s | 하나의 문자 반복 or non, 끝에 space | a.+\\s | 'asda!$ ' | vasd/ 'asdv' |
\\. | 패턴 '.'을 사용하고 싶은 경우 | c\\. | c. | c/ ca |
\\w\\. | 워드의 끝을 반드시 ‘.’으로 마무리 | \\w\\. | Asd12. | A#d12 |
[조건1조건2] | 하나 이상의 조건을 적용할 경우 | [0-2a-z] | 1/ a/ z | #/ 3/ A |
[조건]* | 조건에 해당되는 문자의 반복 | [0-3]* | 02310 | 4125 |
'[개발] Programming > Javascript' 카테고리의 다른 글
자바스크립트 배열 선언, 초기화 (0) | 2018.10.30 |
---|---|
자바스크립트 쿠키로 하루 동안 팝업창 노출하지 않기 (0) | 2018.10.29 |
자바스크립트 버블 정렬 소스 (0) | 2018.10.29 |
자바스크립트, 팝업 차단 여부 검사하는 방법 (0) | 2018.10.29 |
키보드의 키코드와 ASCII Code 정리 (0) | 2018.10.26 |
댓글