본문으로 바로가기

[regex] Apostrophe 찾기

category Algorithm/Snippet 2022. 4. 17. 15:46
728x90
반응형
 

개요

picoCTF 풀려다 이거 스크립트로 만들어보면 괜찮을 듯 싶던 과정에 삽질했다.

 

문제

풀고자 했던 문제는 다음과 같이 주어지는 문자열 apostrophe 로 감싸진 단어를 추출하는 것이다.

strings1 = "Please md5 hash the text between quotes, excluding the quotes: 'leeches'"
strings2 = "Please md5 hash the text between quotes, excluding the quotes: 'a car crash'"
strings3 = "Please md5 hash the text between quotes, excluding the quotes: 'Hollywood'"
strings4 = "Please md5 hash the text between quotes, excluding the quotes: 'cleaning the bathroom'"
strings5 = "Please md5 hash the text between quotes, excluding the quotes: 'a high school bathroom'"

각각 다음과 같이 추출한 결과를 뽑고자 했다.

  • leeches
  • a car crash
  • Hollywood
  • cleaning the bathroom
  • a high school bathrooms
 

해결

약간의 삽질을 통해 다음과 같은 정규 표현식으로 추출할 수 있었다.

mat = re.search(r"\'+(.*.)\'$", strings)
정리해 보자면.. Apostroph로 시작과 끝나는 형식을 찾고 그 안에 들어오는 형태는 무엇이든 허용한다라는 의도이다.
 

Code

# apostrophe regext 
import re


strings1 = "Please md5 hash the text between quotes, excluding the quotes: 'leeches'"
strings2 = "Please md5 hash the text between quotes, excluding the quotes: 'a car crash'"
strings3 = "Please md5 hash the text between quotes, excluding the quotes: 'Hollywood'"
strings4 = "Please md5 hash the text between quotes, excluding the quotes: 'cleaning the bathroom'"
strings5 = "Please md5 hash the text between quotes, excluding the quotes: 'a high school bathroom'"


mat1 = re.search(r"\'+(.*.)\'$", strings1)
mat2 = re.search(r"\'+(.*.)\'$", strings2)
mat3 = re.search(r"\'+(.*.)\'$", strings3)
mat4 = re.search(r"\'+(.*.)\'$", strings4)
mat5 = re.search(r"\'+(.*.)\'$", strings5)

print(mat1)
print(mat2)
print(mat3)
print(mat4)
print(mat5)

 

728x90
반응형

'Algorithm > Snippet' 카테고리의 다른 글

Python Recursive Snippet Code  (0) 2023.01.06
[Snippet] 정수의 자리 수 구하기  (0) 2022.12.08