정규표현식과 trim 맛보기.
ITWeb/개발일반 2011. 12. 7. 17:50[이전글]
- http://jjeong.tistory.com/532
[사용된 정규표현식 코드]
key = key.replace(/^\s+|\s+$/g, "");
[간단설명]
- 그냥 이해하기 쉽게 풀어 쓴것이니 설명에 대해서는 정규표현식을 검색하셔서 공부 하심 됩니다.
/ : 시작과 끝을 의미 합니다.
^ : 문자열의 처음 시작 부분을 의미 합니다. (일치하는 패턴이 문자열의 처음에 있어야 함)
\s : 공백을 의미 합니다. (Whitespace)
+ : 1번 이상 반복을 의미 합니다.
\s+ : 이렇게 하면 공백이 여러번 나타나는걸 의미 하겠죠.
| : 또는 (or) 을 의미 합니다.
a|b : a 이거나 b 이거나 라고 보시면 됩니다.
$ : 문자열의 제일 마지막 부분을 의미 합니다. (일치하는 패턴이 문자열의 끝에 있어야 함)
g : 문자열의 전체에서 매칭을 하라는 의미 입니다.
결국 정리 하면,
문자열의 제일 앞부분과 제일 뒷부분에 반복되는 공백을 제거 하라는 의미 입니다.
[참고내용]
- 한빛미디어에서 퍼 왔습니다.
- http://www.hanb.co.kr/network/view.html?bi_id=1653
[메타문자 요약]
다음은 정규 표현식에서 사용 가능한 메타문자를 보여준다.
/ - 정규 표현식을 시작하고 끝낸다.
. - 줄 바꿈 문자를 제외한 임의의 한 문자와 일치한다.
element* - 요소와 0번 이상 일치한다.
element+ - 요소와 1번 이상 일치한다.
element? - 요소와 일치하지 않거나 한 번 일치한다.
[characters] - 대괄호 안에 포함된 한 문자와 일치한다.
[^characters] - 대괄호 안에 포함되어 있지 않은 한 문자와 일치한다.
(regex) - regex를 그룹으로 간주하여 갯수를 세거나, 다음에 오는 *, +, ?에 적용한다.
left|right - left나 right와 일치한다.
l-r - l과 r사이의 문자 범위와 일치한다(대괄호 안에 있을 때만)
^ - 일치하는 패턴이 문자열의 처음에 있어야 함
$ - 일치하는 패턴이 문자열의 끝에 있어야 함
b - 단어의 경계와 일치한다.
B - 단어의 경계가 아닌 문자와 일치한다.
d - 숫자 문자 하나와 일치한다.
D - 숫자 문자가 아닌 문자와 일치한다.
n - 줄 바꿈 문자와 일치한다.
s - 공백 문자와 일치한다.
S - 공백 문자가 아닌 문자와 일치한다.
t - 탭 문자와 일치한다.
w - 단어 문자(a-z, A-Z, 0-9, _)와 일치한다
W - 비단어 문자(a-z, A-Z, 0-9, _이 아닌 문자)와 일치한다
x - x(x가 메타문자이더라도 x를 쓰고자 할 때 유용함)
{n} - 정확히 n번 일치한다.
{n,} - n번이나 그 이상 일치한다.
{min,max} - 최소 min, 최대 max 번 일치한다.
[일반적인 변경자]
정규 표현식에서는 몇 가지 변경자(modifier)를 사용할 수 있다.
/g - "전역" 일치를 활성화. 바꾸기(replace) 기능을 쓸 경우 이 변경자를 쓰면 첫 번째 일치 결과만 바꾸는 것이 아니라 모든 일치 결과를 바꾼다.
/i - 정규 표현식이 대소문자를 구별하지 않음. 따라서 /[a-zA-Z]/ 대신 /[a-z]/i나 [A-Z]/i를 지정하면 된다.
/m - 캐럿(^)과 달러 기호($)가 대상 문자열 안의 줄 바꿈 전과 후와 일치하는 경우, 여러 줄 모드(multi-line mode)를 활성화. 보통 여러 줄 문자열에서 ^는 문자열의 시작과 일치하고, $는 문자열의 끝과 일치한다.