终极指南:如何用 write-good 正则表达式和自定义模式匹配提升英文写作质量

张开发
2026/4/16 22:36:04 15 分钟阅读

分享文章

终极指南:如何用 write-good 正则表达式和自定义模式匹配提升英文写作质量
终极指南如何用 write-good 正则表达式和自定义模式匹配提升英文写作质量【免费下载链接】write-goodNaive linter for English prose项目地址: https://gitcode.com/gh_mirrors/wr/write-goodwrite-good 是一个强大的英文写作检查工具专为开发者和技术写作者设计通过智能的正则表达式和自定义模式匹配机制帮助您快速识别并改进英文文本中的常见问题。无论您是撰写技术文档、博客文章还是学术论文这个轻量级的 linter 都能显著提升您的写作质量。为什么选择 write-good 进行英文写作检查write-good 的核心优势在于其灵活的正则表达式匹配系统。与传统的语法检查器不同它专注于英文写作风格和可读性而不是语法规则。该工具使用一系列精心设计的正则表达式模式来检测常见的写作问题如被动语态- 识别并标记被动结构重复词汇- 发现无意识的词汇重复填充词- 检测弱化表达效果的词汇冗余表达- 找出可以简化的冗长短语快速开始安装与基本使用要开始使用 write-good首先需要安装它npm install write-good或者全局安装以在命令行中使用npm install -g write-good基本使用非常简单只需几行 JavaScript 代码const writeGood require(write-good); const suggestions writeGood(So the cat was stolen.); // 返回[{ reason: omit So from the beginning of sentences, index: 0, offset: 2 }]深入理解 write-good 的正则表达式匹配机制write-good 的强大之处在于其模块化的正则表达式匹配系统。每个检查项都是一个独立的模块使用特定的正则表达式模式来检测问题1. 被动语态检测在 lib/lexical-illusions.js 中工具使用正则表达式/(\s*)([^\s])/gi来检测词汇重复。这种模式匹配空白字符后的任何非空白字符序列帮助识别无意识的词汇重复。2. 句子开头检查lib/starts-with-so.js 使用两个正则表达式/([^\n\.;!?])([\.;!?])/gi匹配句子边界/^(\s)*so\b[\s\S]/i检测以 so 开头的句子3. 冗余表达检测lib/there-is.js 专门检测 there is 和 there are 这类冗余表达帮助您写出更直接、更有力的句子。自定义模式匹配创建您自己的检查规则write-good 的真正强大之处在于其可扩展性。您可以创建自定义检查模块来满足特定需求创建自定义检查模块创建一个新的检查模块非常简单只需导出一个包含fn函数和explanation字符串的对象// custom-check.js module.exports { myCustomCheck: { fn: function(text) { const forbiddenTerms [badword1, badword2]; const re new RegExp(\\b( forbiddenTerms.join(|) )\\b, gi); const suggestions []; let match; while (match re.exec(text)) { suggestions.push({ index: match.index, offset: match[0].length, }); } return suggestions; }, explanation: 使用了不恰当的词汇 } };使用自定义检查在代码中使用自定义检查const writeGood require(write-good); const customChecks require(./custom-check.js); const suggestions writeGood(This text contains badword1., { checks: customChecks });或者在命令行中使用write-good *.md --checkscustom-check.js高级配置白名单和检查项控制write-good 提供了灵活的配置选项让您可以精确控制检查行为白名单功能您可以创建白名单来排除特定词汇或短语const suggestions writeGood(Never write read-only sentences., { whitelist: [read-only] });选择性启用/禁用检查通过配置对象您可以控制启用哪些检查// 禁用被动语态检查 const suggestions writeGood(So the cat was stolen, { passive: false }); // 仅启用特定检查 const suggestions writeGood(Some text, { passive: false, weasel: true, illusion: true });命令行工具的强大功能write-good 的命令行工具提供了丰富的选项# 检查所有 Markdown 文件 write-good *.md # 仅运行特定检查 write-good *.md --weasel --so # 排除某些检查 write-good *.md --no-passive # 启用默认禁用的检查如 E-Prime write-good *.md --yes-eprime # 检查文本内容 write-good --textIt should have been defined there. # 使用解析模式输出 write-good *.md --parse实际应用场景和最佳实践技术文档优化对于技术文档建议重点关注禁用被动语态检查技术文档中被动语态有时是必要的启用词汇重复检查使用白名单排除技术术语博客文章和教程对于更非正式的写作启用所有检查特别注意 so 开头的句子检查冗余表达和填充词多语言支持write-good 支持扩展如德语扩展 schreib-gutnpm install -g schreib-gut write-good *.md --checksschreib-gut集成到开发工作流编辑器集成write-good 可以与多种编辑器集成Atom: linter-write-goodVS Code: Write Good LinterVim: coc-write-goodCI/CD 管道集成在持续集成流程中添加 write-good 检查# .github/workflows/write-good.yml name: Write Good Check on: [push, pull_request] jobs: check: runs-on: ubuntu-latest steps: - uses: actions/checkoutv2 - name: Setup Node.js uses: actions/setup-nodev2 - name: Install write-good run: npm install -g write-good - name: Run write-good run: write-good *.md --parse性能优化和最佳实践正则表达式优化技巧预编译正则表达式在模块顶部预编译正则表达式以提高性能使用非捕获组当不需要捕获匹配内容时使用(?:...)避免回溯灾难确保正则表达式不会导致指数级回溯内存管理对于大文档处理使用流式处理分批检查文本及时清理不再需要的匹配结果故障排除和常见问题问题误报太多解决方案调整白名单排除领域特定词汇const suggestions writeGood(text, { whitelist: [technical-term, acronym, product-name] });问题性能问题解决方案限制检查的文件大小使用--parse模式减少输出处理选择性启用检查项问题自定义检查不工作解决方案确保自定义检查模块正确导出对象结构并验证正则表达式模式。总结提升英文写作质量的完整工作流通过 write-good 的正则表达式和自定义模式匹配功能您可以快速识别常见的英文写作问题自定义规则以适应特定写作风格集成到工作流中实现自动化检查持续改进写作质量无论是技术文档、博客文章还是学术论文write-good 都能帮助您写出更清晰、更专业、更易读的英文内容。开始使用 write-good让您的英文写作质量提升到一个新的水平✨核心文件参考主入口文件write-good.js词汇重复检查lib/lexical-illusions.js句子开头检查lib/starts-with-so.js冗余表达检查lib/there-is.js测试示例test/basic.spec.js通过掌握 write-good 的正则表达式匹配和自定义模式功能您将能够创建适合自己写作需求的个性化写作检查工具显著提升英文写作的专业性和可读性。【免费下载链接】write-goodNaive linter for English prose项目地址: https://gitcode.com/gh_mirrors/wr/write-good创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

更多文章