2 个不稳定版本
0.3.0 | 2023年11月15日 |
---|---|
0.2.0 | 2023年11月13日 |
#1590 in 文本处理
8KB
84 行
描述
为 KMA Rust 课程创建的简单英语句子解析器。解析器可以识别单个单词、数字、标点符号、空格、句子和整个文本。crates.io
用法
make run ARGS="-f test_files/test1.txt"
输出
["Hello", ",", " ", "world", "!"]
或获取帮助信息
make
技术
解析器使用 peg
库。规则
word()
匹配单词,它是由可选符号 - 和 ' 连接的字母字符序列。capital_word()
匹配以大写字母开头的单词。number()
规则用于解析数字。date()
匹配格式为 dd/mm/yyyy 的日期。hour()
匹配格式为 hh:mm (am|pm) 的时间。end_punctuation()
规则用于解析可以结束句子的标点符号:... | . | ! | ?
other_punctuation()
规则用于解析可以出现在句子中的标点符号:, | ; | : | -
whitespace()
规则用于解析空白字符或其他缩进符号,例如'\t' | '\n' | '\r'
sentence()
规则用于解析整个句子。它使用前三个规则来解析输入字符串。句子必须以大写单词开头并以end_punctuation
结尾text()
规则可以解析多个句子
依赖关系
~1.3–1.9MB
~35K SLoC