정규식 규칙
| 항목 이름 | 일반적인 정규식 기호 | 사용 예 및 설명 | ||
|---|---|---|---|---|
| 모든 문자 | . | c.t — “cat”, “cot”과 같은 단어를 나타냅니다 | ||
| 문자 범위 내의 문자 | [] | [b-d]ell — “bell”, “cell”, “dell”과 같은 단어를 나타냅니다 [ty]ell — “tell”과 “yell”을 나타냅니다 | ||
| 문자 범위 밖의 문자 | [^] | [^y]ell — “dell”, “cell”, “tell”과 같은 단어를 나타내지만 “yell”은 허용하지 않습니다 [^n-s]ell — “bell”, “cell”과 같은 단어를 나타내지만 “nell”, “oell”, “pell”, “qell”, “rell”, “sell”은 허용하지 않습니다 | ||
| 또는 | \ | c(a\ | u)t — “cat”과 “cut”을 나타냅니다 | |
| 연속으로 0회 이상 반복 | * | 10* — 1, 10, 100, 1000 등의 숫자를 나타냅니다 | ||
| 연속으로 1회 이상 반복 | + | 10+ — 10, 100, 1000 등의 숫자는 허용하지만 1은 허용하지 않습니다. | ||
| 문자 또는 숫자 | [0-9a-zA-Z] | [0-9a-zA-Z] — 단일 문자를 허용합니다; [0-9a-zA-Z]+ — 모든 단어를 허용합니다 | ||
| 대문자 라틴 문자 | [A-Z] | <br /> | ||
| 소문자 라틴 문자 | [a-z] | <br /> | ||
| 대문자 키릴 문자 | [А-Я] | <br /> | ||
| 소문자 키릴 문자 | [а-я] | <br /> | ||
| 숫자 | [0-9] | <br /> | ||
| 공백 | [\s] | <br /> | ||
| 시스템 문자 | @ | <br /> | ||
| Dictionary의 단어 | @(Dictionary) | Dictionary Parameter는 단어를 가져올 사용자 Dictionary의 경로를 설정합니다. Linux 경로 예: @(/opt/MyDictionary.amd) macOS 경로 예: “/Users/user/Documents/MyDictionary.amd Windows에서는 경로의 백슬래시를 두 번 써야 합니다. 예: @(D:\MyFolder\MyDictionary.amd). <Note> 일부 프로그래밍 언어(C++ 등)에서는 string 리터럴에서 백슬래시를 이스케이프해야 합니다. 이 경우 이스케이프된 백슬래시 두 개가 필요하므로, 결과적으로 백슬래시가 네 개가 됩니다. 위의 예는 C++에서 다음과 같이 표시됩니다. </Note> L"@(D:\\\\\\\\MyFolder\\\\\\\\MyDictionary.amd)" |
- 정규식에 사용되는 일부 문자는 “보조” 문자, 즉 시스템 용도로 사용되는 문자입니다. 위 목록에서 볼 수 있듯이 이러한 문자에는 대괄호, 마침표 등이 포함됩니다. 보조 문자를 일반 문자로 입력하려면 앞에 백슬래시()를 붙이십시오. 예: [t-v]x+는 “tx”, “txx”, “txxx” 등과 “ux”, “uxx” 등을 나타내지만, [t-v]x+는 “[t-v]x”, “[t-v]xx”, “[t-v]xxx” 등을 나타냅니다.
- 특정 정규식 요소를 그룹화해야 하는 경우 괄호를 사용하십시오. 예를 들어, (a|b)+|c는 “c”와 “abbbaaabbb”, “ababab” 등과 같은 모든 조합을 나타냅니다(a와 b가 어떤 순서로든 임의의 개수만큼 포함될 수 있는 길이가 0이 아닌 단어). 반면 a|b+|c는 “a”, “c” 및 “b”, “bb”, “bbb” 등을 나타냅니다.
정규식 예제
데이터 캡처에 사용하는 경우
- 인식 결과로 사전에 있는 단어만 허용해야 합니다. IBaseLanguage::AllowWordsFromDictionaryOnly 속성을 TRUE로 설정합니다. 이는 정확한 일치를 위해 필요합니다.
- 인식 언어의 letter set에는 정규식에 포함된 문자만 있어야 합니다. IBaseLanguage::LetterSet 속성을 지정합니다. 언어 알파벳에 포함된 문자는 정규식에 맞지 않더라도 인식될 수 있으므로 이 설정이 필요합니다.
- IBaseLanguage::IsNaturalLanguage 속성을 FALSE로 설정합니다.
Windows 샘플
C# 코드
C# 코드
