Season 1/기술 보안 정규표현식 정리 작성자 - LRTK 정규표현식 해당 글은 PHP 기준으로 정리한 글 입니다. 정규표현식이란? 특정한 규칙을 가진 문자열의 집합을 표현하는데 사용하는 형식 언어 정규표현식 함수 Function Description preg_match() 패턴이 문자열에서 발견되면 1을 반환, 그렇지 않으면 0을 반환 preg_match_all() 문자열에서 발견된 패턴의 개수를 반환 preg_replace() 패턴과 일치하는 문자열을 다른 문자열로 대체된 문자열을 반환 Modifiers Modifier Description i 대소문자 구분하지 않고 패턴 검사 수행 m 여러 줄 검색을 수행(문자열의 시작 또는 끝을 검색하는 패턴은 각 줄의 시작 또는 끝과 일치) u UTF-8 인코딩 i $result = preg_match("/t/", "test"); if ($result) { echo "Regex!!"; } else { echo "No Regex!!"; } Regex!! $result = preg_match("/t/", "TEST"); if ($result) { echo "Regex!!"; } else { echo "No Regex!!"; } No Regex!!이처럼 소문자일 땐 정규표현식에 잘 걸리는 것을 확인할 수 있다.하지만 검사하고자하는 문자열이 대문자일 때는 걸리지 않는 모습이다. $result = preg_match("/t/i", "TEST"); if ($result) { echo "Regex!!"; } else { echo "No Regex!!"; } Regex!!이처럼 Modifiers의 i를 사용 시 대소문자 구분하지 않고 검사를 할 수 있다. mModifies를 설정하지 않았을 때 $str = "adsad\n1234"; $result = preg_match("/^[0-9]+/", $str); if ($result){ echo "<h1>숫자를 찾았습니다!!</h1>"; } else { echo "<h1>숫자를 찾을 수 없습니다.</h1>"; } 숫자를 찾을 수 없습니다. Modifies를 설정했을 때 $str = "adsad\n1234"; $result = preg_match("/^[0-9]+/m", $str); if ($result){ echo "<h1>숫자를 찾았습니다!!</h1>"; } else { echo "<h1>숫자를 찾을 수 없습니다.</h1>"; } 숫자를 찾았습니다!!이처럼 Modifies를 설정하지 않았을 때 여러 줄의 문자열에서 숫자를 못 찾았지만, 설정 후에는 여러 줄의 문자열에서 숫자를 찾을 수 있었다. Patterns Expresstion Description [abc] 대괄호 사이의 문자 찾기 [^abc] 대괄호 사이의 문자 없는 것을 찾기 [0-9] 0부터 9까지의 문자 찾기 Metacharacters Metacharacter Description . 줄바꿈 문자인 \n를 제외한 모든 문자와 매치 ^ 문자열의 시작 부분과 일치하는 항목을 찾기 $ 문자열 끝에서 일치하는 항목을 찾기 \d 숫자 찾기 \s 공백 문자 찾기 Quantifiers Quantifier Description n+ 하나 이상의 n을 포함하는 모든 문자열과 일치 n* 0개 이상의 n을 포함하는 모든 문자열과 일치 n? 0 또는 1번의 n이 포함된 모든 문자열과 일치 n{x} n을 x번 이상 반복한 문자열과 일치 n{x,y} n을 x번 이상 y번 이하 반복한 문자열과 일치 n{x,} n을 x번 이상 반복한 문자열과 일치 Grouping ( )으로 특정 문자열을 그룹핑할 수 있다./ba(na){2}/i -> banana 공유하기 게시글 관리 MSS 'Season 1 > 기술 보안' 카테고리의 다른 글 SSTI 실습 (0) 2021.07.16 SSTI 개념 정리 (0) 2021.07.16 [beebox] SSRF (0) 2021.07.02 Config 서비스를 활용한 리소스 구성 평가 (0) 2021.06.29 GNU Bash 취약점 (0) 2021.05.31 Contents 당신이 좋아할만한 콘텐츠 SSTI 실습 2021.07.16 SSTI 개념 정리 2021.07.16 [beebox] SSRF 2021.07.02 Config 서비스를 활용한 리소스 구성 평가 2021.06.29 댓글 0 + 이전 댓글 더보기