千家信息网

如何正确的使用正则表达式

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本篇文章给大家分享的是有关如何正确的使用正则表达式,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。正则表达式(Regular Expres
千家信息网最后更新 2026年11月03日如何正确的使用正则表达式

本篇文章给大家分享的是有关如何正确的使用正则表达式,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

正则表达式(Regular Expression)是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符")。

正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。

下面通过实例代码介绍下正则表达式使用

//一个数据类型,记录文本规则,一些事先定义好的一些特殊字符,对字符串的过滤逻辑

//表单验证账号长度,字母或数字组合,高级搜索

//特点,不仅js有;极简的方式操作字符串;灵活,功能强大

// 正则表达式大全

var patt1=new RegExp("e");[xss_clean](patt1.test("The best things in life are free"));

/*是否带有小数*/

function isDecimal(strValue ) {var objRegExp= /^\d+\.\d+$/;return objRegExp.test(strValue);}

/*校验是否中文名称组成 */

function ischina(str) {var reg=/^[\u4E00-\u9FA5]{2,4}$/; /*定义验证表达式*/return reg.test(str); /*进行验证*/}

/*校验是否全由8位数字组成 */

function isStudentNo(str) {var reg=/^[0-9]{8}$/; /*定义验证表达式*/return reg.test(str); /*进行验证*/}var arr = new Array();var reg = new RegExp(/\d/);

//表示匹配数字

reg = reg.test("jndwjdw");console.log(reg);

//正则对象。test(需要验证的字符串)

//字面量声明

var reg2 = /男|女/;

//有没有其中一个

var reg = reg2.test("呦呦哟偶女");console.log(reg);console.log(/男|女/.test("哈迪哈迪哈女"));

//语法

//.test();正则表达式检测某段字符串

//预定义类

console.log(/./.test("\r")); //除了回车和换行外的任意字符 console.log(/\d/.test("123")); //检测是不是数字 console.log(/\D/.test("sh")); //非数字字符,只要不是数字就true,只要有一个就是true console.log(/\s/.test("\r")); //只要有不可见就true\r\n\f\h\两个空字符串拼接是false console.log(/\S/.test("ah7")); //只要有可见字符就对 console.log(/\w/.test("b-8")); //所有字母数字和下短线_,只要有就是对短线 console.log(/\W/.test(("bg8-@"))); //true//只要有非单词字符就是对

//自定义类,没有\

console.log(/d/.test("123")); //检测这段里面有不有d这个字 // console.log(/yskma/.test("yskmama")); //true//检测这段字符串包不包含yskma,不能断开不能中间穿插别的 console.log(/yskmama/.test("ysk")); //false //或和优先级 console.log(/ysk|mama/.test("ysk")); //true console.log(/ys(k|m)a/.test("ysk")); //false//检测这段字符串中有不有yska或者ysma console.log(/ys(k|m)a/.test("yskma")); //false//检测这段字符串中有不有yska或者ysma

//简单类[]代表一个字符

console.log(/[abc]/.test("gbhigf")); //true//只要出现abc中 的任意一个就是对 console.log(/y[abc]z/.test("yaz")); //true//包含yz,并选一个a console.log(/y[abc]z/.test("yabcz")); //false//abc只能要一个

//负向类[^ ]取反

console.log(/[^abc]/.test("a")); //false//除了括号外的内容才是对,有就是错,不能有括号内的 console.log(/[^abc]/.test("af")); //true//除了括号外的内容才是对,有就是错,不能有括号内的

//范围类

console.log(/[0-9]/.test("b8jg")); //true

//组合类,组合起来就是组合类,自定义类

//^边界,以。。开头

//$以。。结尾

//^bc$严格匹配

//.回车和换行以外的

console.log(/^6a/.test("6akjjkak")); //true console.log(/^6.a/.test("6akjjkak")); //false console.log(/[.]{8}/.test("6akjjkak")); //false,当前"."就是代表字符串".",此处没有8个".",所以false;console.log(/ac$/.test("6akjjkakac")); //true//ac结尾 console.log(/^6a$/.test("6a")); //true console.log(/^\d$/.test("9")); //true//只能出现一次 console.log(/^abc\d$/.test("abc7")); //true//只能出现一次

//量词:?0||1次;+前面的>=1次;*>=0次

console.log(/^colo*r$/.test("color")); //true console.log(/^colo+r$/.test("color")); //true console.log(/^colo?r$/.test("color")); //true console.log(/^colo?r$/.test("colr")); //true console.log(/^colo?r$/.test("coloor")); //false console.log(/^colo*r$/.test("colooooooor")); //true

//量词,{}前面出现的:。。{n}n次;{n,}>=n;{n,m}...>=n..<=m

//*{0,}..?{0,1}....+{1,}

//括号总结{}次数;[]一个;()一组,分组

//转Unicode:escape("你好")-----Ununicod("u%hkkblpp%^Vhk")

//所有汉字在一到与之间

console.log(/[\u4e00-\u9fa5]/.test("哈"));console.log(/[\u4e00-\u9fa5]{3}/.test("哈你好"));

//字符串替换

var str = "abcde";console.log(str.replace("a", "b")); //bbcdeconsole.log(str.replace(/a/g, "b")); //bbcde

//换成句号

var str = "a,b,c,d,e";var str2 = str.replace(/,/g, "."); //g是替换全部 console.log(str2);

//修改成绩

var str = "a,b,c,70,90";var str2 = str.replace(/\d{1,}/g, "100"); //g是替换全部 console.log(str2); //吧,.都改成。 var str = "a,b,c,70,90.";var str2 = str.replace(/[ , , .]/g, "。"); //g是替换全部 console.log(str2);var stra = " abc "function MyTirm(stra) {var str3 = stra.replace(/^\s+|\s+$/g, ""); //去掉前后空格空格换成空字符串 return str3;}var str2 = MyTirm(stra);console.log("==" + str2 + "==");

//想要的字符提取出来,提取邮箱 //来不及写

//math,提取符合要求的元素

//分组提取,提取邮箱的每一个部分

RegExp.$1, RegExp.$2, RegExp.$3

//检索字符indexof();lastindexof();返回下标

var str = "张三:1000,李四:5000,王五:8000。";var arr = str.match(/\d+/g);console.log(arr); //math返回数组,提取元素

//exec只取一个,math可以取全部的

//正则对象:test,exec........字符串:math,spilt,search,

//用某个字符分隔字符串

var str = "123123@xx.com,fangfang@valuedopinions.cn 286669312@qq.com 2、emailenglish@emailenglish.englishtown.com 286669312@qq.com...";var arr = str.match(/\w+@\w+(\.\w+)+/g);console.log(arr);

//6 分组提取

//提取email中的每一部分 var str = "123123@xx.com";var reg = /(\w+)@(\w+)\.(\w+)(\.\w+)?/;var array = str.match(reg); //获取分组的数据 ()是分组 console.log(RegExp.$1); //123123 console.log(RegExp.$2); //xx console.log(RegExp.$3); //com //分组练习 var str = "5=a, 6=b, 7=c";str = str.replace(/(\d)=(\w)/g, "$2====$1"); //吧567分3组,吧abc分3组,2组在前面,1组在后面 console.log(str);

//i 忽略大小写

//g 全局匹配

//控制字符串相关方法

//1、正则对象的 test exec

//2、字符串的 replace search match split

//用法:

console.log(/\d/.test("123"));console.log(/[\u4e00-\u9fa5]{3}/.test("哈你好"));//除了.test和search方法能直接执行,math,replace,split,exec都需要数组接收返回值var str = "abc100,ccc200,ddd300";var arr = /\d+/.exec(str);console.log(arr + "这儿"); //100//只能匹配一项,可以用在分组匹配var arr = str.match(/\d+/g);console.log(arr);var str = "abc100ccc200ddd300";var arr = str.split(/\d+/);console.log(arr);var str = "哈哈哈哈,100分"; //检索里面数字出现的下标 console.log(str.search(/\d+/));var str = "abcdebfg";var strNew = str.replace("b", "d");console.log(strNew);console.log(str);var v = 2new RegExp("^\\d+" + v + "$").test(12) //true

以上就是如何正确的使用正则表达式,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

字符 字符串 正则 表达式 就是 数字 分组 检测 验证 括号 组合 你好 字母 对象 特殊 下标 之间 代表 元素 内容 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 科技金融是不是互联网金融 A股互联网金融科技公司 互联网科技集团 成都狮子座互联网科技 甘肃拓世互联网科技有限公司 海南购全球互联网科技 互联网科技公司招聘 互联网科技公司的市场部门 老年人脱离互联网科技的作文 安控科技rtu产品工业互联网 互联网科技实习生岗位职责 华服互联网科技官网 南山科技园互联网公司有哪些 崇明区互联网教育科技诚信经营 互联网科技公司实习生 未来五年的互联网科技 洛阳共同富裕互联网科技有限公司 互联网科技实习生岗位 知域互联网科技有限公司官网 科技发展第三阶段互联网时代 鸠鸠互联网科技 艾特科技互联网 互联网金融科技委员会 联恩商钥互联网科技有限公司 科技互联网大厂 互联网科技与大数据专业 南博望互联网科技有限公司 上海钢联属于互联网科技股吗 互联网时代高科技布局 互联网科技和医药行业
0