Menu
CoddyTech

Regular Expression Matching

문자열 s와 패턴 p가 주어집니다. 패턴에서 문자는 같은 문자와 일치하고, 점 .은 임의의 문자 하나와 일치하며, 별표 *는 바로 앞의 요소(문자 또는 점)가 0개 이상 반복됨을 의미합니다. 패턴이 s 전체와 일치하면 true를 반환하고, 그렇지 않으면 false를 반환하세요.

함수

isMatch(s: string, p: string) → boolean
sstring
일치시킬 문자열, 소문자만
pstring
문자, 점, 별표의 패턴
반환값boolean
p가 s의 모든 항목과 일치하면 true이고, 그렇지 않으면 false입니다.

제약 조건

  • 1 ≤ s.length ≤ 1000
  • 1 ≤ p.length ≤ 1000
  • s에는 소문자 영어 알파벳만 포함되어 있습니다.
  • p에는 소문자 영어 문자, . 및 *만 포함됩니다.
  • 모든 *는 문자 또는 . 뒤에 오므로, p는 *로 시작하지 않으며 별표가 두 개 연속으로 나타나지도 않습니다.

예제

입력
s = "moon"p = "mo*n"
출력
true
설명
o*는 o 문자를 모두 포함하므로, m, o*와 n을 합치면 정확히 moon이 됩니다.
challenge icon

후속 질문

같은 표에서 +도 지원할 수 있나요? 이 기호 앞에 있는 요소가 한 개 이상 반복되는 경우를 말합니다.

코드 초기화
def isMatch(s, p):
    # 여기에 코드를 작성하세요

테스트 #1

테스트 #2

테스트 #3

인자들

s = "moon"
p = "mo*n"

예상 출력

true