원하는 패턴 정규식 만들기

맞는 예와 틀린 예를 주고 정규식을 받는다

프롬프트 · 변수 3개

저는 {{사용 언어}}에서 쓸 정규식이 필요합니다. 조건을 말로 설명하는 대신, 통과해야 하는 예시와 걸러내야 하는 예시를 아래에 드리겠습니다.

"통과할 예시"는 모두 매치되고 "걸러낼 예시"는 하나도 매치되지 않는 정규식을 하나 만들어 주세요. 두 목록의 차이에서 규칙을 찾아내는 것이 이번 과제입니다.

결과는 순서대로 보여 주세요. 정규식 한 줄, 기호를 조각내 설명한 표, {{사용 언어}}에서 실제로 쓰는 코드 두세 줄, 그리고 제가 준 예시마다 매치되는지 표시한 확인 표입니다.

예시만으로는 정할 수 없는 경계 조건(길이 제한, 대소문자, 앞뒤 공백 등)이 있으면 임의로 정하지 말고 표 아래에 질문으로 최대 3개까지 적어 주세요. 읽기 어려운 축약보다 조금 길더라도 뜻이 보이는 패턴을 골라 주세요.

통과할 예시: """ {{통과할 예시}} """

걸러낼 예시: """ {{걸러낼 예시}} """

복사한 뒤 여기에 붙여 넣으세요 · ChatGPT·Claude는 프롬프트를 실은 채 열립니다 ChatGPT에서 열기 ↗Claude에서 열기 ↗Gemini에서 열기 ↗뤼튼에서 열기 ↗ 빌더에서 고치기 수업용 카드 이미지 받기

결과 예시

정규식 한 줄·조각 표·JavaScript 코드·확인 표가 순서대로 나왔고, 준 예시 6개가 모두 기대대로 갈렸다. 구분자를 괄호로 묶고 뒤에서 되불러 앞뒤가 다른 값까지 막았다.

^010([- ]?)\d{4}\1\d{4}$

기대 결과
010 9876 5432 통과 통과
010-12-5678 차단 차단(가운데가 4자리가 아님)

표 아래에는 "010-1234 5678처럼 구분자가 섞인 값도 통과시키나요" 등 경계 조건 질문 3개가 붙었다.

Claude에서 실제로 실행해 확인 · 2026-09

왜 이렇게 쓰는가

맥락
저는 {{사용 언어}}에서 쓸 정규식이 필요합니다. 조건을 말로 설명하는 대신, 통과해야 하는 예시와 걸러내야 하는 예시를 아래에 드리겠습니다.
과제
"통과할 예시"는 모두 매치되고 "걸러낼 예시"는 하나도 매치되지 않는 정규식을 하나 만들어 주세요. 두 목록의 차이에서 규칙을 찾아내는 것이 이번 과제입니다.
형식
결과는 순서대로 보여 주세요. 정규식 한 줄, 기호를 조각내 설명한 표, {{사용 언어}}에서 실제로 쓰는 코드 두세 줄, 그리고 제가 준 예시마다 매치되는지 표시한 확인 표입니다.
제약
예시만으로는 정할 수 없는 경계 조건(길이 제한, 대소문자, 앞뒤 공백 등)이 있으면 임의로 정하지 말고 표 아래에 질문으로 최대 3개까지 적어 주세요. 읽기 어려운 축약보다 조금 길더라도 뜻이 보이는 패턴을 골라 주세요.
예시
통과할 예시: """ {{통과할 예시}} """
예시
걸러낼 예시: """ {{걸러낼 예시}} """

정규식 만들기를 부탁할 때 흔한 실수는 조건을 말로만 설명하는 것입니다. "휴대폰 번호 정규식"이라고 하면 그럴듯한 패턴이 나오지만, 하이픈이 없는 번호나 02로 시작하는 지역번호처럼 실제 데이터에 섞여 있는 경우가 빠집니다. 이메일 정규식 만들기처럼 흔한 요청일수록 인터넷에 떠도는 낡은 패턴이 그대로 나오기도 합니다.

그래서 이 프롬프트는 설명 대신 예시 두 묶음을 줍니다. 통과할 것과 걸러낼 것을 함께 주면 AI는 두 목록의 차이에서 규칙을 찾습니다. 특히 걸러낼 예시가 중요합니다. 정규식의 버그는 대부분 "너무 많이 통과시키는" 쪽에서 나오는데, 반례가 없으면 AI는 느슨한 패턴을 고릅니다. 서로 다른 이유로 탈락하는 예를 서너 개 모아 두면 효과가 큽니다.

과제 문단이 "모두 매치되고 하나도 매치되지 않는"이라고 조건을 못 박은 덕에, AI는 답을 내기 전에 스스로 예시를 대조합니다. 언어를 앞에서 밝히는 이유는 룩비하인드 지원 여부나 이스케이프 규칙이 도구마다 다르기 때문입니다. 구글 시트나 VS Code 검색창에 넣을 것이라면 답이 완전히 달라집니다.

형식의 "예시마다 매치 여부 확인 표"가 이 프롬프트에서 값이 가장 큰 줄입니다. 표를 채우는 동안 AI가 자기 패턴을 검사하게 되고, 어긋난 칸이 보이면 그 자리에서 고칩니다. 판단할 수 없는 조건을 질문으로 남기게 한 것은, AI가 길이나 대소문자 규칙을 조용히 정해 버리는 것을 막기 위해서입니다.

용어가 낯설면 아하AI에서: few-shot, prompt

나쁜 예와 비교

흔한 나쁜 예

휴대폰 번호 정규식 만들어줘

돌아오는 패턴은 대개 010-\d{4}-\d{4} 정도라서, 하이픈 없이 적힌 번호나 공백이 섞인 번호를 모두 놓칩니다. 반대로 \d{3}-\d{4}-\d{4} 를 주면 02로 시작하는 지역번호까지 통과합니다. 어느 쪽이든 실제 데이터를 넣어 보기 전에는 문제를 알 수 없습니다.

변형

검사가 아니라 값을 뽑아내야 할 때

검사가 아니라 값을 뽑아내야 할 때

아래 "통과할 예시"는 제 데이터에서 뽑아내야 하는 부분이고, "걸러낼 예시"는 뽑히면 안 되는 부분입니다. {{사용 언어}}에서 쓸 추출용 정규식을 만들고, 캡처 그룹이 각각 무엇을 담는지 표로 설명해 주세요.

통과할 예시: """ {{통과할 예시}} """

걸러낼 예시: """ {{걸러낼 예시}} """

유효성 검사가 아니라 추출이 목적일 때 씁니다. 캡처 그룹 설명을 요구해야 결과를 코드에서 바로 꺼내 쓸 수 있습니다.

찾아 바꾸기에 쓸 때

찾아 바꾸기에 쓸 때

{{사용 언어}}의 찾아 바꾸기 기능에 넣을 정규식과 치환식을 함께 만들어 주세요. 아래 예시가 각각 어떤 모양으로 바뀌는지 "바꾸기 전 · 바꾸기 후" 표로 먼저 보여 주고, 되돌리기 어려운 변경이 생길 수 있는 경우를 경고해 주세요.

""" {{통과할 예시}} """

편집기에서 한 번에 바꿀 때는 치환식이 함께 있어야 합니다. 미리 보기 표를 먼저 받아 확인한 뒤 실행하세요.

모델별 주의

정규식은 언어마다 지원 문법이 조금씩 다릅니다. 받은 패턴은 반드시 실제 데이터로 한 번 돌려 보고, 빠진 경우를 예시에 더해 다시 요청하세요

관련 프롬프트

마지막 수정 2026-09-02 · 잘못된 점이 있나요? 알려 주세요