如何用AutoWikiBrowser将维基文章转为句首大写且保留特殊代码格式
适配AWB的正则分步实现方案
因为单条正则覆盖所有排除规则容易出错,以下方案分3步执行,可直接适配AWB的连续正则替换功能:
1. 基础句首大写转换(覆盖正文、章节标题、列表项、粗斜体内容)
查找正则:
(?:^|[\.\?\!,。?!]\s+|={2,5}\s*|[*#:]+\s*|'''\s*|''\s*)(?<!\[\[File:)(?<!\[\[Category:)(?<!{{)(?<!<!--)([A-Z])([a-z]+)\b
替换规则:$1\L$2
说明:
- 自动匹配句子开头、章节标题开头、列表项开头、格式标记后的首字母大写单词
- 内置反向断言自动跳过文件、分类、模板、注释范围内的内容
- 仅匹配首字母大写、后续字母小写的单词,全大写缩写会自动保留,不会被修改
2. 链接内部内容格式统一
查找正则:
\[\[(?!File:|Category:)([^|\]]+?)(\|.*?)?\]\]
替换规则:[[\u\L$1$2]]
说明:自动将非文件、非分类的普通链接内部文本转为句首大写格式,符合普通文本的处理要求
3. 表格单元格内容转换(可选)
如果需要处理表格内的单元格内容,单独执行以下规则:
查找正则:
(?:^[!|]\s*|!!\s*|\|\|\s*)(?<!{{)(?<!<!--)([A-Z])([a-z]+)\b
替换规则:$1\L$2
说明:匹配表格标题、单元格分隔符后的单词,跳过单元格内的模板、注释内容,支持单元格内的粗体、斜体、链接格式嵌套
适配说明
- 规则中使用的
\L可直接替换为AWB支持的{{subst:lg:}}语法 - 未使用
\h等AWB不兼容的标记,兼容主流旧版本正则库 - 所有需要排除的模板、文件、分类、注释内容都会被自动跳过,无需手动枚举语法规则
内容的提问来源于stack exchange,提问作者oli_vi_er
相关产品推荐
相关产品推荐

