본문 바로가기

대외활동/TNS Internship

100107 TNS Korea Internship (18/53)

728x90

18일차.
Confirmit의 trim function에 대해 알아보던 중 정규식이 나와버렸다. 
그래서 알아보다보니 내가 모르던 JavaScript와 JScript간의 차이가 있었던 것.

JavaScript(자바스크립트) vs JScript

넷스케이프가 만든 LiveScript를 가지고 Java의 Sun Microsystems와 공동 프로젝트를 진행하여 자바스크립트를 만들고 발표하게 되었다.

ECMA-262라는 스크립트에 대한 표준을
Netscape社가 구현한 것이 JavaScript.
MS社가 구현한 것이 JScript.

현재는 JavaS JS 모두 ECMA-262에서 정의한 것보다 더 많은 기능을 지원.

Differences between JavaScript :
Conditional Comment의 사용 가부
<!-- COMMENT -->
<!--[if표현식]> HTML <![endif]  숨겨짐
<![if표현식] HTML <![endif]>     밝혀짐
JS는 가능 JavaS는 불가능

JScript는 non-generational mark-and-sweep 

garbage collection을 사용
JavaScript는 Spider Monkey generational mark

-and-sweep system을 사용

Confirmit은 JScript를 사용하고 있었다.
하지만 내가 가진 참고도서는 (Privacy 보호를 위해 Initial 사용) JS선배님의 Javascript 사전 뿐.
위에서 알아본 것 처럼 그 둘의 문법적 유사성 때문에 JavaScript를 사용하기로 했다.

정규식 Parsing 규칙

[ ] : [ ] 중의 하나
[^ ] : [ ] 안에 있는 표현을 제외한 것 중 하나.  
/ : slash는 그 다음에 오는 숫자,문자,기호를 그대로 나타낸다.
\ : \(역slash)뒤에 이어진 특별한 문자가 뜻하는 구역을 찾습니다. n은 문자 n을 찾고, \n은 줄바꿈 문자를 찾습니다. 
       그 다음 문자를 특수 문자, 리터럴, 역참조, 또는 8진수 이스케이프로 표시합니다. 예를 들어, "n"은 문자 "n"을 찾고 
       "\n"은 줄 바꿈 문자를 찾습니다. "\\" 시퀀스는 "\"를 찾고 "\("는 "("를 찾습니다. 
^ : 입력의 시작과 일치 (^1 : 1로 시작되는 줄 )
$ : 입력의 마지막과 일치 ($0 : 0으로 끝나는 줄 )
* : 이 문자 앞의 표현이 0번~무한번 반복될 수 있음을 의미함.
+ : 1번~무한번
? : 앞의 표현이 0번 혹은 1번 (books? : book, books)
. : 줄바꿈 문자 이외의 임의의 1문자와 일치 (.ap : map, cap, jap)
(__) : __에 지정한 문자와 일치 ( (ca)p : cap). 그리고 그 부분을 $0~$9까지의 변수에 저장
| : 앞뒤의 어느쪽인가와 일치 (c | m)ap : cap, map
{number} 바로앞의 문자와 number회 일치
d : [0-9]와 같다. 
D : [^0-9] 0~9만 제외함. (소문자와 대문자는 반대 개념)
w : [A-Za-z0-9_]와 같다.
W : w의 반대.
\b : 단어와 단어 사이의 공백을 찾는다.
\s : 공백을 찾는다.

기타 표현들은 
http://doc.ddart.net/scripting/html/jsgrpregexpsyntax.htm  에 잘 나와있다.

728x90