模組:Conversion rule extractor/Matcher/doc
外观

这是Module:Conversion rule extractor/Matcher的文档页面
![]() | 此頁面是Module:Conversion rule extractor/Matcher的模块文档。 此頁面可能包含了模板的使用說明、分類和其他内容。 |
子模块:负责将字词转换规则与目标文本内容进行匹配。
使用Trie树算法来高效地查找文本中是否存在规则中定义的源词语。
公共函数
[编辑]filterRules
[编辑]筛选规则列表,只保留那些源文本能在目标页面内容或指定文本中找到的规则。
参数:
- rulesList: (必须) table,包含待筛选的、已规范化的规则字符串的列表。
- targetPageTitleOrText: (必须) string|table,匹配目标。可以是:
- 页面标题 (string): 将获取该页面的内容进行匹配。
- 直接文本内容 (string): 直接在该文本上进行匹配。
- MediaWiki title 对象 (table): 将获取该对象对应页面的内容进行匹配。
返回值: table: 一个新的列表,仅包含源文本在目标中匹配成功的规则字符串。 如果输入 rulesList 为空、无法获取目标内容或目标内容为空,返回空列表 `{}`。
filterRulesAgainstTitleText
[编辑]筛选规则列表,只保留那些源文本能在指定页面的标题文本(不含名字空间)中找到的规则。
参数:
- rulesList: (必须) table,包含待筛选的、已规范化的规则字符串的列表。
- pageTitle: (必须) string,目标页面的标题。
返回值: table: 一个新的列表,仅包含源文本在页面标题文本中匹配成功的规则字符串。 如果输入 rulesList 为空、页面标题无效或标题文本为空,返回空列表 `{}`。
内部函数
[编辑]extractRuleSources
[编辑]从单个规范化的规则字符串中提取所有可能的源文本(即需要被匹配的词语)。 处理单向规则 (A=>B 提取 A) 和双向规则 (lang:A 提取 A)。
参数:
- ruleString: (字符串) 已规范化的规则字符串。
返回值: table: 包含从规则中提取出的所有源文本字符串的列表(已去重)。
buildRuleTrie
[编辑]根据规则列表构建一个Trie树,用于快速匹配。 Trie 的节点代表字符,叶子节点存储包含以该路径为源文本的规则在原始列表中的索引。
参数:
- rulesList: (table) 包含规则字符串的列表。
返回值: table: 构建好的Trie树。
matchTextWithTrie
[编辑]使用构建好的 Trie 树在给定的文本中查找所有匹配的规则。
参数:
- text: (字符串) 要在其中进行查找的文本内容。
- trie: (table) 使用buildRuleTrie构建的Trie树。
返回值: table: 一个集合(表),其键是匹配到的规则在原始列表中的索引,值为true。