[[TableOfContents]] == ì°¸ì—¬ìž == ë©˜í† : 변형진 ì¸ì› : 김수경 ê¹€ì¤€ì„ ê¹€íƒœì§„ 서지혜 == 목표 == Regular Expressionì„ ì •ì˜í•˜ê³ ë”러운 ìƒí™©ì— 대한 Regexì˜ ê°•ë ¥í•¨ì„ ëŠê»´ë³´ìž. == 1주차 == === ì •ê·œí‘œí˜„ì‹ì€ ë”ê°€? === Regular Expression입니다. 우리가 배운걸 순서대로 ì‰ ì 어볼까요 === 어디서 ì—°ìŠµí• ìˆ˜ 있나? === htmlì„ ë„ì›Œë†“ê³ ìµìŠ¤í”Œë¡œëŸ¬ or í¬ë¡¬ì˜ ê°œë°œìž ë„구ì—ì„œ javascript 콘솔모드로 "문장".matches("\Regex\"); 하면 나온답니다용. javaì—서는 Matcher를 통해서. (맞는지 잘 ëª¨ë¥´ê² ë‹¹) {{{ Pattern.comppile("ì •ê·œí‘œí˜„ì‹"); Matcher matcher = new Matcher(Pattern, "ì°¾ì„ í…스트"); matcher.find(); }}} -í‹€ë ¸ìœ¼ë©´ ìˆ˜ì • === 문법ì€? === {{{ . * + [] ^ $ | {} () \ [A-Za-Z0-9] \w \W \s \S 괄호 안ì—ì„œì˜ ^ 괄호 ë°–ì—ì„œì˜ ^ }}} . == 문ìž(ëª¨ë“ ê²ƒ) 하나 * == ì•žì˜ ë¬¸ìž(ëª…ë ¹)를 0ê°œ ì´ìƒ ì—°ì†ìœ¼ë¡œ ì°¾ì„ ë•Œ. e.g. '''.*''' ë¡œ 하면 여러 문ìž(ëª¨ë“ ê²ƒ)ì„ 0ê°œ ì´ìƒ 받아옵니다. + == ì•žì˜ ë¬¸ìž(ëª…ë ¹)를 1ê°œ ì´ìƒ ì—°ì†ìœ¼ë¡œ ì°¾ì„ ë•Œ. []대괄호. == ì°¾ì„ ë¬¸ìžë“¤ì„ 넣으면 ë¨. a-zA-Z ë¼ë˜ì§€, 0-9ë¼ë˜ì§€. $ ì•žì˜ ëª…ë ¹ì„ ë§ˆì§€ë§‰ìœ¼ë¡œ 하는 ê²ƒë“¤ì„ ì°¾ìŒ. {}중괄호 == 갯수 ì§€ì •ê°€ëŠ¥. {0,2} ì´ë©´ 0~2개사ì´ì˜ 갯수를 ì°¾ìŒ. ()소괄호 == ëª…ë ¹ë“¤ì„ |ë¡œ 여러가지 나타낼 수 있ìŒ. == 2주차 == 복습 ë° ì˜ˆì œ 코드 작성 === ë¬¸ì œ1 === {{{ <a herf ="dfdf"></a> 여기서 <a herf ="dfdf"> 찾기 answer : <.+?> }}} === ë¬¸ì œ2 === {{{ 태그 ì•ˆì˜ ì†ìƒëœ " "ì„ ê²€ìƒ‰í•˜ì—¬ë¼ ì˜ˆì œ <a href = "class > </a> <a href = "class" > </a> <a href = "clas"s" > </a> }}} ì‹¤ì œ ì˜ˆì œ {{{ <html> <a href ="abc"></a> <a href ="abc"></a> <a href ="dfw"></a> <a href ="dfdof></a> <a href ="dfdof class="dfdfd"></a> <a href ="dfdof" class=dfdfd" name ="cdef"></a> </html> answer : <([^">]+|"[^">]*")+"[^">]*> }}} ë‹µì´ ì ˆëŒ€ ì ì¸ê²ƒì€ ì•„ë‹ˆê³ , íš¨ìœ¨ì˜ ì°¨ì´ëŠ” ìžˆì„ ìˆ˜ 있ìŒ. ì €ê²ƒì— ëŒ€í•œ ë‹µì„ ì°¾ì•„ëƒˆë‹¤ë©´, 맞는것들'만' 찾아내는 ê²ƒë„ í•´ë³´ëŠ”ê±´ 어떨까요? ê·¸ëŸ¬ë ¤ë©´ í‘œì¤€ì„ ì•Œì•„ì•¼ 한다는... === ë¬¸ì œ 3 === 간단한 JavaScript ì˜ˆì œ {{{ "http://www.naver.com www.naver.com naver.com google.co.kr http://kio.zc.bz/Lecture/regexp.html#chap05".match(/(http:\/\/)?([a-zA-Z]+\.)+[a-zA-Z]+\/?([^\s]+)*/g) }}} ë˜ ë‹¤ë¥¸ ì˜ˆì œ (ì €ë²ˆì‹œê°„ê³¼ ìœ ì‚¬í•¨) 스í¬ë¦½íŠ¸ì—ì„œ 괄호가 ì œëŒ€ë¡œ ì—´ë¦¬ê³ ë‹«í˜”ëŠ”ì§€, ì œëŒ€ë¡œ 닫히지 ì•Šì€ ì¼€ì´ìŠ¤ë¥¼ 뱉어줌. {{{ var str='<body onload="firprint(;" onkeydown="keyboard);"> <input value="pause" onclick="pause();"/>'; str.match(/\s[^()\s]*([^()]*[)]|[(][^()]*)/g); }}} ------------------------ [2011년활ë™ì§€ë„], [RegularExpression]