U E D R , A S I H C RSS

Regular Expression/2011년스터디


1. 참여�

멘토 : 변형진
�� : 김수경 김준� 김태진 서지혜

2. 목표


Regular Expression� 정�하고 �러운 �황� 대한 Regex� 강력함� �껴보�.

3. 1주차


3.1. 정규표현�� 뭔가?


Regular Expression입니다.

우리가 배운걸 순서대로 쭉 �어볼까요

3.2. 어디서 연습할 수 있나?

html� �워놓고 �스플로러 or �롬� 개발� �구�서 javascript 콘솔모드로 "문장".matches("\Regex\"); 하면 나온답니다용.

java�서는 Matcher를 통해서. (맞는지 잘 모르겠당)
Pattern.comppile("정규표현�");
Matcher matcher = new Matcher(Pattern, "찾� �스트");
matcher.find();

-틀렸으면 수정

3.3. 문법�?


. * + [] ^ $ | {} () \

[A-Za-Z0-9]
\w \W
\s \S

괄호 안�서� ^ 괄호 밖�서� ^

. == 문�(모든 것) 하나
* == 앞� 문�(명령)를 0개 �� 연�으로 찾� 때.
e.g. .* 로 하면 여러 문�(모든 것)� 0개 �� 받아옵니다.
+ == 앞� 문�(명령)를 1개 �� 연�으로 찾� 때.
[]대괄호. == 찾� 문�들� 넣으면 �. a-zA-Z ��지, 0-9��지.
$ 앞� 명령� 마지막으로 하는 것들� 찾�.
{}중괄호 == 갯수 지정가능. {0,2} �면 0~2개사�� 갯수를 찾�.
()소괄호 == 명령들� |로 여러가지 나타낼 수 있�.

4. 2주차


복습 � 예제 코드 작성

4.1. 문제1

<a herf ="dfdf"></a>
여기서 

<a herf ="dfdf"> 찾기

answer : <.+?>

4.2. 문제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 : <([^">]+|"[^">]*")+"[^">]*>

답� 절대 ��것� 아니고, 효율� 차�는 있� 수 있�.

저것� 대한 답� 찾아냈다면, 맞는것들'만' 찾아내는 것� 해보는건 어떨까요? 그러려면 표준� 알아야 한다는...

4.3. 문제 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);
으.. 아� 제대로 �는� 지금� � 안�네요 --
str.match(/\s[^()\s]*([^()]*[)]|[(][^()]*)/g);
str.match(/\s([(][^(]*|[^)][)])*/g);
str.match(/((http:[^\s]*)|((\s[^/.]*[.][^/.]*)))\s/g);

 ((3*4)+2+4)-(23)) ((3*4)+(2+4)-23)) ((3*4)+(2+4)-(23)) (3*4)+(2+4)-(23)) ((3*4)+(2+4-(23))

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:27:54
Processing time 0.0049 sec