跳转到内容

模組:Conversion rule extractor/Matcher/doc

本页使用了标题或全文手工转换
维基百科,自由的百科全书

这是Module:Conversion rule extractor/Matcher/doc当前版本,由PexEric留言 | 贡献编辑于2025年5月4日 (日) 04:03 建立内容为“{{NoteTA/MediaWiki}} {{Documentation subpage}}<!-- 在本行下編輯模組說明 --> 子模块:负责将字词转换规则与目标文本内容进行匹配。 使用Trie树算法来高效地查找文本中是否存在规则中定义的源词语。 == 公共函数 == ===filterRules=== 筛选规则列表,只保留那些源文本能在目标页面内容或指定文本中找到的规则。 参数: * ''rulesList'': (必须) table,…”的新页面)。这个网址是本页该版本的固定链接。

(差异) ←上一修订 | 最后版本 (差异) | 下一修订→ (差异)

这是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。