1. 테스트 스크립트 작성 2. 간단한 패턴 정의하기 3. 수량자 사용하기 4. 문자 클래스 사용하기 5. 전체 매치하기 6. 변경자의 사용 7. 패턴 매치와 치환.

Slides:



Advertisements
Similar presentations
파이썬 (Python). 1 일 : 파이썬 프로그래밍 기초 2 일 : 객체, 문자열 3 일 : 문자인코딩, 정규표현식, 옛한글 4 일 : 파일 입출력 5 일 : 함수와 모듈 6 일 : 원시 말뭉치 다루기 실습 7 일 : 주석 말뭉치 다루기 실습 8 일 : 웹 데이터로.
Advertisements

Python Ch.06 RaspberryPi Sejin Oh. Raspberry Pi Python  IDLE(Integrated Development Environment)  라즈베리 파이 배포본들은 일반적으로 파이썬과 파이썬 3 의 IDLE 파 이썬 개발 도구를.
6 장. printf 와 scanf 함수에 대한 고찰 printf 함수 이야기 printf 는 문자열을 출력하는 함수이다. – 예제 printf1.c 참조 printf 는 특수 문자 출력이 가능하다. 특수 문자의 미 \a 경고음 소리 발생 \b 백스페이스 (backspace)
1 08 배열. 한국대학교 객체지향연구소 2 C 로 배우는 프로그래밍 기초 2 nd Edition 배열  동일한 자료유형의 여러 변수를 일괄 선언  연속적인 항목들이 동일한 크기로 메모리에 저장되는 구조  동일한 자료 유형이 여러 개 필요한 경우에 이용할 수 있는.
1. 2 차원 배열  배열은 동일한 데이터 유형으로 여러 개의 변수를 사용할 경우 같은 이 름으로 지정하여 간편하게 사용할 수 있도록 하는 것으로서 앞에서 1 차원 배열을 공부하였습니다.  2 차원 배열은 바둑판을 생각하면 되며, 1 차원 배열에서 사용하는 첨자를 2.
PHP 웹 프로그래밍 (PHP Web Programming) 웹 연동 기술 문양세 강원대학교 IT대학 컴퓨터과학전공.
DB 프로그래밍 학기.
DB 프로그래밍 학기.
ㅎㅎ C++ 프로그래밍의 첫 걸음 C++로 프로그래밍한다는 것의 의미 세상에서 가장 간단한 C++ 프로그램
ㅎㅎ C++ 프로그래밍의 첫 걸음 C++ 프로그래밍 기초 : 객체지향의 시작 C++로 프로그래밍한다는 것의 의미
최윤정 Java 프로그래밍 클래스 상속 최윤정
Excel 일차 강사 : 박영민.
06 SQL 함수 SQL 함수의 개념 문자 함수 숫자 함수 날짜 함수 데이터 타입의 변환 일반 함수.
제 9 장 구조체와 공용체.
Lesson 5. 레퍼런스 데이터형.
테이블 : 데이터베이스를 구성하는 요소로 같은 성격에 정보의 집합체. 레코드 : 하나의 정보를 가지고 있는 컬럼의 집합체
제 6장. 생성자와 소멸자 학기 프로그래밍언어및실습 (C++).
Heesang kim PL/SQL 3 Heesang kim.
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
6장. printf와 scanf 함수에 대한 고찰
2007 1학기 11 프로젝트 기초 실습.
11장. 1차원 배열.
13. 연산자 오버로딩.
C 프로그래밍 C언어 (CSE2035) (Chap11. Derived types-enumerated, structure, and union) (1-1) Sungwook Kim Sogang University Seoul, Korea Tel:
JA A V W. 03.
사용자 함수 사용하기 함수 함수 정의 프로그램에서 특정한 기능을 수행하도록 만든 하나의 단위 작업
어서와 C언어는 처음이지 제14장.
인터넷응용프로그래밍 JavaScript(Intro).
Term Projects 다음에 주어진 2개중에서 한 개를 선택하여 문제를 해결하시오. 기한: 중간 보고서: 5/30 (5)
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
연산자 (Operator).
포인터 1차원 배열과 포인터 2차원 배열과 포인터 문자열 배열과 포인터 포인터 배열
프로그래밍 원리 Chapter 05 자바스크립트 기초 신한대학교 IT융합공학부 박 호 균.
3D 프린팅 프로그래밍 01 – 기본 명령어 강사: 김영준 목원대학교 겸임교수.
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
2장. 변수와 타입.
웹디자인
Regular Expression 1 Powerful pattern matching with regular expression to a string while () { if ( /ab*c/ ) { print $_; } } substitute operator s/abc*c/def/;
자바 5.0 프로그래밍.
Chapter 02. 자바 기본 문법.
웹 연동 기술 Yang-Sae Moon Department of Computer Science
Choi Seong Yun 컴퓨터 프로그래밍 기초 #03 : 변수와 자료형 Choi Seong Yun
CHAP 21. 전화, SMS, 주소록.
Linux/UNIX Programming
^^ Computer Programming 2 dmpr.cnu.ac.kr/~daygax.
Regular Expression 1 Powerful pattern matching with regular expression to a string while () { if ( /ab*c/ ) { print $_; } } substitute operator s/abc*c/def/;
5 함수.
제 15 강 문자와 코드 shcho.pe.kr.
에어 PHP 입문.
플래시 CS3 액션스크립트3.0.
Excel 일차 강사 : 박영민.
4장. 데이터 표현 방식의 이해. 4장. 데이터 표현 방식의 이해 4-1 컴퓨터의 데이터 표현 진법에 대한 이해 n 진수 표현 방식 : n개의 문자를 이용해서 데이터를 표현 그림 4-1.
Homework #12 (1/2) 프로그램을 작성하고, 프로그램과 실행 결과를 프린트하여 제출한다.
Chapter 10 데이터 검색1.
함수, 모듈.
1. 입력 데이터 ② 대학, 학과: 대학이 존재하지 않을 경우 학과명을 대학에 입력 학과명은 공백으로 유지 (하단 참조)
9 브라우저 객체 모델.
8장 선택 논리 II 1. 논리연산자 1.1 논리연산자 : AND (&&) 1.2 논리연산자 : OR (||)
17장. 문자열 01_ 문자열 사용의 기본 02_ 문자열의 사용.
김선균 컴퓨터 프로그래밍 기초 - 12th : 문자열 - 김선균
9장. spss statistics 20의 데이터 변수계산
어서와 C언어는 처음이지 제21장.
프로그래밍 개론 Ⅰ 제 1장 . 서론 ②.
Docker Study 6~7.
Report #2 (기한: 3/16) 데이터 구조 과목의 수강생이 50명이라고 가정한다. 이 학생(학번은 2016????으로 표현됨)들의 중간 시험(0~100), 기말 시험(0~100) 성적을 성적 파일에 작성하라(프로그램을 통해서 또는 수작업으로). 성적 파일을 읽어들여서.
6 객체.
20 XMLHttpRequest.
Presentation transcript:

1. 테스트 스크립트 작성 2. 간단한 패턴 정의하기 3. 수량자 사용하기 4. 문자 클래스 사용하기 5. 전체 매치하기 6. 변경자의 사용 7. 패턴 매치와 치환

 정규표현식 ◦ 특정 문제를 해결하기 위한 일종의 도구  특정 문제의 예  1) 대소문자 구분 없이 car 라는 텍스트가 포함된 파일을 찾는데, 단어 중간에 car 가 들 어있는 경우는 제외해야 됨  2) 웹 페이지를 동적으로 생성하고 있는데 DB 의 텍스트를 웹 상에 출력하고자 하며, 해 당 텍스트가 URL 형식일 경우 를 이용하여 해당 텍스트를 클릭할 수 있 도록 해야 함  3) 회원 가입 폼의 이메일 주소 입력 칸에 이메일 주소를 형식에 맞게 넣었는지 확인해 야 함  4) size 라는 글자를 iSize 라고 치환하고 싶은데 해당 단어가 문장 처음에 나오는 것만 치환해야 함  매우 독특한 프로그래밍 과제들 ◦ 찾고자 하는 텍스트가 매우 가변적일 때 사용 ◦ 패턴을 작성하고 특정 값을 해당 패턴에 적용시켜서 사용

 패턴 적용을 위한 preg_match() 함수 ◦ 특정한 패턴이 문자열과 매치가 되느냐에 따라 0 혹은 1 을 반환 ◦ 첫 번째 매치가 발생하면 실행 중단 ◦ 모든 매치를 찾으려면 preg_match_all() 함수 사용 ◦ 패턴 적용시 인용부호 사용  작은 따옴표 사용 권장 ( 큰 따옴표 안의 문자는 특별한 의미를 가질 수 있음 ) ◦ 패턴을 구분자 안에 넣어서 사용  영문, 숫자, 역슬래쉬 제외한 다른 문자 사용 가능 preg_match(pattern, subject);

 Script 패턴과 문자열을 입력받아 결과를 반환하는 스크립트

 리터럴 (literal) ◦ 문자 그대로의 값을 의미  메타 문자 ◦ 리터럴 문자가 아닌 특별한 의미를 가지고 있는 기호 ◦ 메타 문자 리스트

 메타 문자의 예 ◦. 은 개행 문자를 제외한 모든 단일 문자와 일치  ex) a, b, 2, 5.. 등등 ◦ ^ 은 문자열의 시작을 나타내며 ^ 뒤에 오는 문자로 시작되는 문자와 일치  ex) ^k : kid, korea 와 일치 / dark 와는 불일치 ◦ $ 는 문자열의 끝을 나타내며 ^ 뒤에 오는 문자로 끝나는 문자와 일치  ex) $s : Torres 와 일치 / Spain 과는 불일치 ◦ | 는 선택적인 의미로 | 의 앞, 뒤에 있는 문자들과 or 의 의미로 일치  ex) st|rea : abstract, Hargreaves 와 일치  스크립트 9.1 에서 생성한 pcre.php 로 테스트

 수량자 ◦ 다수의 문자 출현을 의미하는 메타 문자  ex) a, aa, aaa, aaaa 와 같이 단어의 연속되는 문자와의 매치 ◦ 수량자 리스트  수량자의 예 ◦ ex) a{3} : aaa 와 일치 ◦ ex) a{3,} : aaa, aaaa, aaaaa… 와 일치 ◦ ex) colou?r : color, colour 와 일치

 문자 클래스 ◦ 모든 숫자 / 문자와 매칭할 때 간편하게 사용 가능  리터럴만 사용한다면 패턴이 매우 길어짐 ◦ 문자 클래스 리스트 ◦ 대괄호 안에 문자를 써 넣는 방법으로 생성  ex) [aeiou] : 영어 모음과 일치

 문자 클래스에서의 규칙 ◦ 메타 문자는 리터럴로 취급  리터럴로 취급되지 않는 예외 단어 4 개  \ : 이스케이프  ^ : 부정연산자  - : 범위  ] : 클래스 닫음  문자 클래스의 예 ◦ ^\d{5}& : 모든 다섯 자리의 숫자와 일치 ◦ can\s?not : can not 이나 cannot 과 일치

 패턴이 어떻게 일치하는지 확인하기 ◦ $match 변수에 매치 결과가 저장됨 ◦ 모든 매치 결과를 저장하려면 preg_match_all() 함수를 사용  Greediness 매치 / Less greedy 매치 ◦ ex) 를 Link 와 매치할 경우  Greediness( 탐욕적 ) 매치 : 3 번 매치  까지   전체 구문  Less greedy( 덜 욕심내기 ) 매치 : 2 번 배치  까지  ◦ 가능한 많이 매치하는 방식 vs 가장 작은 데이터와 매치하는 방식 preg_match(pattern, subject, $match);

 Script 13.2 – 매치되는 결과를 출력하는 스크립트

 패턴 변경자 ◦ 패턴 구분기호 뒤에 위치하며 정규표현식의 행동을 변경 ◦ 패턴 변경자 리스트 ◦ 패턴 변경자의 예  ex) /for.*/I : for, FOR, For, foR 등과 매치

 패턴을 검색하고 치환하기 ◦ count 인자를 통해서 치환이 일어날 횟수 지정 가능 ◦ 모든 cat 을 dog 으로 치환하는 예  ex) $str = preg_replace(‘/cat/’, ‘dog’, ‘I like my cat.’); preg_replace(pattern, replacement, subject[, count]);

 Script 13.3 – 매치된 값을 다른 값으로 치환하는 스크립트

 1. 2 페이지에 나와있는 특정 문제의 예 네 가지에 대한 정규표현식을 작성해보 자.  2. 영문 스포츠 뉴스에서 두 명의 선수 이름만을 모두 추출하는 정규식을 두 가 지 이상 작성해보자. ex) 축구 뉴스에서 ‘Messi’ 와 ‘Xavi’ 를 정규식을 이용하여 추출하기