<?php
$pat="/[1-3][a-f]{5}_.*$_SERVER[REMOTE_ADDR].*\tp\ta\ts\ts/";
if(preg_match($pat,$_GET['val'])){
solve(11);
}
else echo("<h2>Wrong</h2>");
echo("<br><br>");
?>
val 인자가 pat에 설정한 정규표현식을 포함하면 문제가 풀린다.
preg_match(/정규표현식/,입력값) 형태를 가진다.
https://www.guru99.com/php-regular-expressions.html
PHP preg_match(): Regular Expressions (Regex)
This PHP regular expression tutorial covers preg_match(), preg_replace(), preg_split(), preg_replace(), Regular expression metacharacters, patterns and more.
www.guru99.com
위 사이트에 문법 설명이 잘 나와있다.
[1-3] : 1부터 3까지의 값으로 구성된 문자열
[a-f]{5} : a부터 f까지의 문자 총 5개로 구성된 문자열
_ : 언더바
. : 개행을 제외한 임의의 문자 한 개
* : 바로 앞의 문자 또는 표현식 0개 이상
$_SERVER[REMOTE_ADDR] : PHP에서 SERVER 전역 변수에 저장되는 클라이언트 IP
\t : Tab(=%09)
정규표현식은 직접 이것저것 테스트 해보는게 좋다.
regex101: build, test, and debug regex
Regular expression tester with syntax highlighting, explanation, cheat sheet for PHP/PCRE, Python, GO, JavaScript, Java, C#/.NET.
regex101.com
내 공인 IP는 온라인 상에서 찾을 수 있다.
아이피 확인 - my ip address
IP 주소를 확인하는 가장 쉽고 빠른 방법 이 사이트(findip.kr)에 접속하는 것이 IP주소를 확인하는 가장 쉽고 빠른 방법이다. 220.64.102.253 가 현재 접속한 기기의 공인 IP(Internet Protocol) 주소다 IP주소
www.findip.kr