标签: 正则表达式

11 个内容

笔记(11)

文章介绍正则表达式中的非捕获分组`(?:...)`,其背景为普通分组`(...)`同时进行捕获和分组,导致内存占用及编号干扰。关键优势:节省性能、避免编号混乱。主要方案:仅保留分组功能,如`com(?:\\.br)?`匹配`com`或`com.br`,不捕获`.br`。

Elliot Yang·
44 浏览

本文针对正则表达式中词边界`\b`在处理中英文混排时失效的问题,提出了使用Unicode属性和环视(lookaround)的解决方案。针对JavaScript、Python和Go等常见语言,分别给出了使用建议和规避方案,并提供了多个典型用例。核心是CJK场景下避免依赖`\b`,利用环视和Unicode属性类实现更精确的匹配。

Elliot Yang·
77 浏览

本文总结了JavaScript中使用`new RegExp()`的注意事项与安全转义方法。针对动态生成正则时出现的转义问题和安全风险,提出了使用`escapeRegExp`函数对用户输入进行转义的方案,并封装了`makeSafeRegex`函数以支持更安全的正则构造,同时避免替换中的特殊字符被转义。

Elliot Yang·
91 浏览

Unicode字符类正则表达式`[\\pP\\pS\\pZ]`用于匹配标点符号(\pP)、符号(\pS)和分隔符(\pZ)。常用于文本清理、数据预处理、格式验证和分词处理,可匹配中英文标点、数学符号、货币符号及空格等,适用于处理多语言文本中的非字母数字字符。

Elliot Yang·
336 浏览

本文全面介绍了 `grep` 命令的实用技巧,涵盖基础搜索、正则表达式、文件目录操作、上下文显示、计数统计、反向搜索等功能。通过丰富的实例,展示了 `grep` 在日志分析、系统管理、开发调试及网络安全等场景中的应用,并提供了高级技巧和性能优化建议。

Elliot Yang·
96 浏览

Node.js中动态正则匹配通过`RegExp`构造函数实现,需注意转义和性能。优化策略包括缓存、防ReDoS攻击。可用于动态路由、模式组合。最佳实践包括输入验证、性能监控。V8引擎优化和WebAssembly是前沿趋势。需警惕回溯失控,注意Unicode和多行匹配。

Elliot Yang·
109 浏览

本文深入解析了 HTTP Header 换行符、正则兼容性、IDE 调优、TS 类型引用等技术难题,并提供实战指南。同时探讨了 Git 大小写敏感、GitHub Pages 路由Hack 等问题,最后展望了 HTTP/3、WASM 正则等技术趋势。

Elliot Yang·
101 浏览

本文深入解析正则表达式,涵盖语法层级、引擎原理、贪婪/惰性匹配、分组捕获、断言机制。强调性能优化(避免回溯、预编译)、多语言差异、安全防护(ReDoS)。探讨前沿发展、可视化工具、经典案例,并反思其适用边界和可读性平衡。

Elliot Yang·
134 浏览

本文介绍了如何使用 JavaScript 正则表达式将 LaTeX 公式 `\(...\)` 和 `\[...\]` 转换为 Markdown 格式 `$…$` 和 `$$…$$`,以方便在 Markdown 编辑器中渲染。核心代码通过正则表达式匹配并替换公式内容,并去除多余空格。该方法适用于多种文本编辑器和文档工具。

Elliot Yang·
180 浏览

本文档为正则表达式速查表,旨在提供常用的正则表达式语法和标志位参考。内容包括字符类、锚点、转义字符、分组与断言、量词与替换等。同时提供了常见用法示例,例如去除字符串首尾空格。

Elliot Yang·
133 浏览

本文记录了作者开发中遇到的一些问题及解决方案。包括:node-fetch header值包含换行符错误;正则表达式兼容性问题;Jetbrains字体行高设置;Preview Tab使用习惯调整;graphql-code-generator 类型错误;.tsx文件中泛型箭头函数使用;Mac CapsLock切换输入法延迟;Git文件大小写敏感设置;GitHub Pages history mode;event.path未定义等问题,并提供了相应的解决办法或兼容方案。

Elliot Yang·
176 浏览