--- title: "정규식 입력 방법" slug: "chatbot-chatbot-3-7" tags: ["chatbot", "챗봇"] updated: 2026-08-20T09:03:10Z published: 2026-08-20T09:03:10Z canonical: "guide-gov.ncloud-docs.com/chatbot-chatbot-3-7" --- > ## Documentation Index > Fetch the complete documentation index at: https://guide-gov.ncloud-docs.com/llms.txt > Use this file to discover all available pages before exploring further. # 정규식 입력 방법
Classic/VPC 환경에서 이용 가능합니다.
정규식은 다양하게 표현된 문장들을 압축적으로 표기할 수 있는 표기법을 말합니다. 챗봇 빌더에서는 ‘nlu_script’라는 자체 정규 표현식을 사용합니다. 정규식 문법을 잘 활용하면 자연어로 커버하지 못하는 질문을 보완할 수 있습니다. ## nlu_script 기본 설명 **special symbols** 자체 정규식인 nlu_script에서 문법으로 사용되는 특수기호는 다음과 같습니다. ``` ( ) { } [ ] < > \: + * ^ ~ = . | & - / ` ``` **정규식 문법 기호를 문자 그대로 표현** 문법에 사용되는 특수기호를 정규식 문법이 아닌 문자 그대로 입력해야 할 경우, 특수기호를 쌍따옴표(“ “)로 감싸줍니다. “ “로 감싸진 특수기호는 정규식 문법으로 인식하지 않고 문자로 인식됩니다. 홑따옴표를 잘못 입력하지 않도록 주의해 주십시오. ``` 잘지내(니|냐)"?" -> 잘지내?, 잘지내니?, 잘지내냐? ``` **띄어쓰기** 토큰 사이에 띄어쓰기가 없는 경우, 띄어쓰기가 포함된 토큰은 매칭되지 않으므로 한국어 용례 상 띄어쓰기가 올 수 있는 곳에 최대한 띄어쓰기를 넣는 것을 권장합니다. 예를 들어, “안녕하세요”라고 입력하면 챗봇은 “안녕하세요”만 인식하지만, “안녕 하세요”라고 입력하면 “안녕하세요”와 “안녕 하세요”를 모두 인식하게 됩니다. ``` 안녕하세요 -> 안녕하세요 (O) / 안녕 하세요 (X) 안녕 하세요 -> 안녕하세요, 안녕 하세요 (O) ``` ## 기초 표기법 ### 필수 발화 표현식 [ ] [ ]는 필수 발화를 표현할 때 사용합니다. 주로 반드시 출현해야 하는 품사 표현을 묶는 방식으로 활용하며 중첩해서 사용 가능합니다. 아래 예시는 필수 발화를 [ ]로 감싸고, [ ] 내에 OR를 의미하는 |를 활용하여 비슷한 단어를 나열한 것입니다. 이렇게 작성된 정규식 문장으로 9개의 문장을 처리할 수 있습니다. ``` [주문|배달|배송] [해줘|해주세요|해줘요] -> 주문해줘, 배달해줘, 배송해줘, 주문해주세요, 배달해주세요, 배송해주세요, 주문해줘요, 배달해줘요, 배송해줘요 ``` ### 선택 발화 표현식 ( ) ( )는 선택적으로 출현하는 발화를 표현할 때 사용합니다. 해당 표현은 중첩해서 사용 가능합니다. 주로 긴 질문에서 생략될 가능성이 있는 조사나 수식어를 묶어서 표현하는 방식으로 활용 가능합니다. 우리말에서는 존댓말이나 어미 활용형을 ( )로 묶어서 표현할 수 있습니다. 예시와 같이, 안녕(하세요|하신가|하냐)로 작성할 경우, ( )는 ‘안녕’에 붙을 수 있는 어미로 선택적으로 출현 가능한 발화이며, ‘|’는 OR의 의미를 나타냅니다. 그래서 안녕(하세요|하신가|하냐)로 한 문장으로 안녕, 안녕하세요, 안녕하신가, 안녕하냐를 모두 처리할 수 있습니다. ``` 안녕(하세요|하신가|하냐) -> 안녕, 안녕하세요, 안녕하신가, 안녕하냐 ``` ### 토큰 간의 연결 표현식 :: ::는 토큰 간의 연결을 나타내기 위해 사용하며, 주로 어간::어미변형 연결을 위해 사용됩니다. 해당 표현은 공백 없이 입력해야 합니다 ``` 주[라|세요] -> 주라, 주 라, 주세요, 주 세요 주::[라|세요] -> 주라, 주세요 [아버지|어머니]가 방에 들어가신다 -> 아버지가 방에 들어가신다(O)/ 아버지 가방에 들어가신다(O) [아버지|어머니]::가 방에 들어가신다 -> 아버지가 방에 들어가신다(O)/ 아버지 가방에 들어가신다(X) ``` ### OR 논리 기호 표현식 | |는 OR 논리 기호를 의미합니다. 주로 보통 필수 발화를 표현하는 대괄호[] 또는 선택 발화를 표현하는 괄호()와 함께 사용합니다. ``` [칼로리|열량]알려줘 -> 칼로리 알려줘, 열량 알려줘 안녕(하세요|하신가|하냐) -> 안녕, 안녕하세요, 안녕하신가, 안녕하냐 ``` ### 입력된 토큰을 조합하는 표현식 ~[ ]~ ~[]~ 는 [] 내에 입력된 토큰들을 조합하기 위해 사용합니다. ~[]~ 내에 입력된 토큰들은 ,(쉼표)로 구분합니다. 토큰을 너무 많이 입력할 경우 후보 패턴이 지나치게 많이 생길 수 있기 때문에(순열; permutation) ~[]~ 내부에 입력하는 토큰 개수를 5개 이하로 제한합니다. 예시와 같이 ~[계정, 생성]~방법 으로 작성할 경우, ‘계정 생성 방법’과 ‘생성 계정 방법’을 모두 커버할 수 있습니다. ``` ~[계정, 생성]~방법 -> 계정 생성 방법, 생성 계정 방법 ``` ### 입력된 토큰의 반복 조합 표현식 [ ]^ [ ]^는 [] 내에 입력된 토큰들을 반복 조합하기 위해 사용합니다. * [k]^(a,b): [] 안에 입력된 토큰 k가 a이상 b 이하의 횟수로 반복됩니다. * [k]^