# RegExp **Repository Path**: jsbbmm/RegExp ## Basic Information - **Project Name**: RegExp - **Description**: 常用的正则表达式 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2018-10-26 - **Last Updated**: 2021-11-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 正则表达式 学习笔记 ## 什么是正则表达式 正则表达式是一种特殊的字符串模式,用于匹配一组字符串,就好比用模具做产品,而正则就是这个模具,定义一种规则去匹配符合规则的字符。 ## 正则语法 **/正则表达式主体/修饰符** ```javascript var experssion = / pattern / flags ``` ##常用方法 >* search() >* replace() ## 正则表达式模式 >* \b **匹配单词的开始或者结束** >* [abc] **查找方括号的任何字符** >* [0-9] **查找任何从0-9的数字** >* (x|y) **查找任何以|分割的选项** >* \d **查找数字** >* \s **查找空白字符** >* \uxxx **查找以十六进制xxx规定的Unicode字符** >* n+ **至少包含一个** >* n* **0个或者多个** >* n? **0个或者一个** ### 常用 | 项目 | 作用 | | ---- | -----: | | \w | 指包含大,小写字母数字和下划线 ,相当于 [a-zA-Z0-9_] | | ^ | 匹配字符串的开始 | | $ | 匹配字符串的结束 | | \b | 匹配单词的开始或者结束 | ## 在JavaScript中RegExp是正则对象,预定义了很多正则属性和方法 test() : **检测一个字符串是否匹配某个模式,如果含有,返回true, 否则返回false** exec() : **返回一个数组,存放匹配的结果,如果没有找到匹配,返回null** match(): **匹配的结果,以数组形式返回** ### 更详细的学习正则地址 -想要查看更详细的语法说明,可以参考JavaScript正则表达式知识拓展总结[正则表达式知识拓展总结][1] -常用正则转换和使用的在线工具 [正则在线必备][2] [1]: https://www.w3cschool.cn/javascript/javascript-expression.html [2]: http://tools.jb51.net/regex/create_reg ```js /* 提取浏览器 url 中的参数名和参数值,生成一个key/value 的对象。 */ function getUrlParamObj() { var obj = {} var params = window.location.search.substr(1) //[^&=]+ 表示不含&或=的连续字符,加上()就是提取对应字符串 params.replace(/([^&=]+)=([^&=]*)/gi, function(rs, $1, $2){ obj[$1] = decodeURIComponent($2); }); return obj } ```