如何用正则表达式匹配包含特殊字符的长尾词?

2026-03-30 09:050阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计992个文字,预计阅读时间需要4分钟。

如何用正则表达式匹配包含特殊字符的长尾词?

首先声明,本文代码均在ES6环境下运行。ES5版本需要修改后才能运行。虽然本文没有使用到ES6的许多新特性,但由于V8引擎对ES6新特性中的u修饰符不支持,最终的实现基本基于ES5的知识编写。

首先声明,本文所有的代码都是在 ES6 下面运行,ES5需要修改之后才能运行,但是本文没有涉及到太多的ES6新特性,而且由于v8对u修饰符不支持,最后的实现也基本是用ES5的知识写的代码。

最初我只是想记录下正则表达式用unicode的方式来匹配特殊字符,写着写着发现 v8 对 u 修饰符的不支持,又转而去研究怎么转换字符串到utf-16的格式,在研究怎么转换的过程中发现ES5的正则对 unicode 编码单元 > 0x10000 的字符串不支持,再转而去实现了一遍对大于 0x10000 的字符串的转换,特此记录。

之前有遇到过一个实用正则表达式匹配特殊字符的需求,例如一段文本 'ab*cd$你好我也好]\nseg$me*ntfault\nhello,world' ,用户可以选择用 * 或者 $ 来分割字符串。

在javascript中, $ 和 * 都是预定义的特殊字符,不能直接写在正则表达式中,而需要转义,写成 /\$/ 或者 /\*/ 。

阅读全文

本文共计992个文字,预计阅读时间需要4分钟。

如何用正则表达式匹配包含特殊字符的长尾词?

首先声明,本文代码均在ES6环境下运行。ES5版本需要修改后才能运行。虽然本文没有使用到ES6的许多新特性,但由于V8引擎对ES6新特性中的u修饰符不支持,最终的实现基本基于ES5的知识编写。

首先声明,本文所有的代码都是在 ES6 下面运行,ES5需要修改之后才能运行,但是本文没有涉及到太多的ES6新特性,而且由于v8对u修饰符不支持,最后的实现也基本是用ES5的知识写的代码。

最初我只是想记录下正则表达式用unicode的方式来匹配特殊字符,写着写着发现 v8 对 u 修饰符的不支持,又转而去研究怎么转换字符串到utf-16的格式,在研究怎么转换的过程中发现ES5的正则对 unicode 编码单元 > 0x10000 的字符串不支持,再转而去实现了一遍对大于 0x10000 的字符串的转换,特此记录。

之前有遇到过一个实用正则表达式匹配特殊字符的需求,例如一段文本 'ab*cd$你好我也好]\nseg$me*ntfault\nhello,world' ,用户可以选择用 * 或者 $ 来分割字符串。

在javascript中, $ 和 * 都是预定义的特殊字符,不能直接写在正则表达式中,而需要转义,写成 /\$/ 或者 /\*/ 。

阅读全文