#english #sentence #parser #white-space #text #identify #words

bin+lib english-language-parser

为 KMA Rust 课程创建的简单英语句子解析器

2 个不稳定版本

0.3.0 2023年11月15日
0.2.0 2023年11月13日

#1590 in 文本处理

MIT 许可证

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