소학회/워게임 추가 공부

[web]Dreamhack_phpreg 추가 공부

haerim9.9 2026. 3. 23. 15:45

워게임을 풀고 공부를 진행했다.

https://hae9-9.tistory.com/103

 


 

php 정규표현식

  • 메타 문자(기본 뼈대): .(아무 문자), ^(바로 뒤의 문자열로 시작), $(바로 앞의 문자열로 끝), \d(숫자), \w(문자+숫자), \(특수문자 무시), | (OR), / /i (i는 대소문자를 구별하지 않게 한다), \D(숫자 이외의 모든 문자), \S(공백 이외의 모든 문자), \W(영숫자 이외의 모든 문자)
  • 수량자(개수 조절): *(0번 이상), +(1번 이상), ?(0개 또는 1개), {n, m}(n개 이상 m개 이하)
  • 그룹과 범위: [](대괄호 안 문자 중 하나), [^]제외, () (패턴의 시작과 끝), [-] (글자 범위 지정)
  • 공백:  (공백), \t(tab), \n(줄 바꿈), \s(모든 공백)

 

https://regexone.com/

해당 사이트에서 정규표현식 관련 문제를 풀었다. Match할 문자열이 주어지면 그 문자열들을 모두 포함하는 패턴을 작성하고, 반대로 Skip할 문자열이 주어지면 그 문자열을 피해가는 패턴을 작성해야 하는 문제이다.

 

<답>

  • Lesson 1: abc
  • Lesson 1.5: 123
  • Lesson 2: [c?8][a9=], ...[^], ...\.
  • Lesson 3: [c,m,f]
  • Lesson 4: [^b]o
  • Lesson 5: [A-C]
  • Lesson 6: waz{3,5}
  • Lesson 7: [bc]+
  • Lesson 8: \d, files? found\?
  • Lesson 9: \s
  • Lesson 10: ^M
  • Lesson 11: ^(file_[a-z,0-9,_]{8,17})
  • Lesson 12: ([A-Z,a-z]{3}\s(\d{4}))
  • Lesson 13: (1\d{3})x(\d{3,4}), (\d+)x(\d+)
  • Lesson 14: I love (cat|dog)
  • Lesson 15: ^(The(re)?), \S, \W$

-> 정규표현식을 실제로 적용해보면서 외우기 및 실전 감각을 익히기에 도움되는 사이트인 것 같다.