正则表达式规则
| 项目名称 | 常用正则表达式符号 | 用法示例与说明 | ||
|---|---|---|---|---|
| 任意字符 | . | 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 参数用于设置用户字典的路径,单词必须从该字典中提取。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 的单词) ,而 a|b+|c 表示 “a”、“c” 以及 “b”、“bb”、“bbb” 等。
示例正则表达式
用于数据捕获
- 识别结果中只允许词典中的词:将 IBaseLanguage::AllowWordsFromDictionaryOnly 属性设置为 TRUE。这是实现精确匹配所必需的。
- 识别语言的字母集只能包含正则表达式中包含的字符:指定 IBaseLanguage::LetterSet 属性。这是必要的,因为即使某些字符不符合正则表达式,也可能被识别为该语言字母表中的字符。
- 将 IBaseLanguage::IsNaturalLanguage 属性设置为 FALSE。
Windows 示例
C# 代码
C# 代码
