JS正则表达式--正则量词与元字符
一.正则量词与元字符
规则1:全局查找:g
g:从头查到尾部,修饰正则表达式查找方式
var str="hellol";
//创建正则表达式
var reg=/l/g;var value=str.replace(reg,"o");console.log(value);
案例:获得某个字符串的所有空格的个数var str_1="h w e r t ";var reg=/ /g;var num=0;while(reg.exec(str_1)){num++;}console.log(num);
或者:for(var i=0;i<str_1.length;i++){if(reg.test(str[i])) num++; }console.log(num);
规则2:不区分大小写:i
var str_1="ello HELLO";var reg=/h/;//未加入ivar reg_1=/h/i;//加入iconsole.log(reg.test(str_1));//未加入i的输出结果console.log(reg_1.test(str_1));//加入i的输出结果var str_2="hello HELLO";var reg_2=/h/ig;//i和g规则可以共存console.log(str_2.replace(reg_2,"替换"));
规则3:任意字符 “.”
var str_3="helloel9";var reg=/e../g;//相当于e和任意字符组合成的多个字符的正则表达式,可以含有多个任意字符存在console.log(str_3.replace(reg,"M"));
规则4: 0或者1个字符 ?
–问号:修饰的前一个字符,代表前一个字符存在或者不存在
var str_4="hello"; //在内存空间中存放hello字符串的方式为://'h' 'e' 'l' 'l' 'o',=即是说每个字符中间正则表达式也会进行校验,即产生MhMMlMlMoM的结果var reg_4=/e?/g;console.log(str.replace(reg_4,"M"));// 对 "1" 进行全局搜索,包括其后紧跟的零个或一个 "0":
var str="1, 100 or 1000?";
var patt1=/10?/g;
console.log(str.replace(patt1,"8"))//则输出为"8,80 or 800?"
console.log(str.match(patt1))//则输出为"1,10,10"
规则5:代表0个或者n个 “*”
–星号:同样是修饰前一个字符存在0次或者n次
var str_5="hello";var reg_5=/e*/g;console.log(str_5.replace(reg_5,"M"));// 对 "1" 进行全局搜索,包括其后紧跟的零个或n个 "0":
var str="1, 100 or 1000?";
var patt1=/10?/g;
console.log(str.replace(patt1,"8"))//则输出为"8,8 or 8?"
console.log(str.match(patt1))//则输出为"1,100,1000"
规则6:代表一个或者N个–"+"
–加号:修饰前面的字符
var str="heelelo";var reg_6=/e+/g;console.log(str.replace(reg_6,"M"));
规则7:代表重复的范围 --{}
–大括号:修饰前面的字符
**一.写法说明:**第一种:{3}代表待操作的字符串内必须含有连续3个正则表达式里的字符串第二种:{1,3}代表前面的字符最少有一个,最多有3个;首先看是否满足最大值,然后再看是否满足最小值的条件;第三种:{2,}可以有这种写法,表示最少有2个,最多有N个var str="heeeelo";**二.具体实例:**// 写法1:var reg_7=/el{3}/g;//{3}代表待操作的字符串内必须含有连续3个正则表达式里的字符串// 写法2:var reg_8=/e{1,3}/g;console.log(str.replace(reg_7,"M"));console.log(str.replace(reg_8,"M"));**三.关于{}的其他例子:**var str="hello";var str_1="he@@llo";var reg_9=/el{2}/gconsole.log(str.replace(reg_9,"M"));//输出为:hMo,可以理解为若正则表达式的检验字符不相同的话则大括号对其前面的一个字符进行正则匹配判断,因为是要有两个"l"才生效,所以"ll"被检索到并进行替换,顺带替换掉检索的"e",所以结果为hMovar reg_10=/@@{2}/g;console.log(str_1.replace(reg_10,"Q"));输出为:he@@llo,可以理解为若正则表达式的检验字符相同的话则大括号对其前面的所有字符进行正则匹配判断,因为要有2个"@@"才能校验成功,所以校验失败,返回原字符串的内容
规则8:
(1)或规则 --|
var str="hello";var reg_11=/h|l/g;//即是替换h或者l的字符,可进行多个替换console.log(str.replace(reg_11,"M"));
(2)或规则–[]
var str_1="hello";var reg_12=/[he]/g;//中括号里的内容为或的内容,空格,逗号等内容也算是或的一种console.log(str_1.replace(reg_12,"M"));
(3)或规则典型例子:
--(1)替换所有的英文字符:(包含所有大小写)var str="hellosadihaohfisahuifhasd";var reg_13=/[a-zA-Z]/g;console.log(str.replace(reg_13,"M"));
--(2)替换所有数字str="1234324892934823";var reg_14=/[0-9]/g;console.log(str.replace(reg_14,"0"));
--(3)删除所有的汉字var str="你好hello";var reg_15=/[\u4e00-\u9fa5]/g;//在内存空间中,汉字一般有专门的编码方式,\u是代表UTF-8编码console.log(str.replace(reg_15,""));
规则9:
(1)以什么开头-- ^
var str="hello";var reg=/^h/g;//判断是否以正则表达式的校验字符开头console.log(reg.test(str));
(2)以什么结束 $
var str="hello"var reg_16=/o$/g;//判断是否以正则表达式的校验字符结尾console.log(reg_16.test(str));
规则10:取反规则 --^
----注意:要和中括号一起使用
例子:只保留数字var str="123hh";var reg=/[^0-9]/g;//去除非数字的字符规则console.log(str.replace(reg,""));
规则11:整体字符–()
var str="hehehello";
var reg=/(he){3}/g;console.log(str.replace(reg,"M"));
小综合实例:
1.判断一个字符串是否为6位长度的数字
var str="123456";var reg=/^[0-9]{6}$/g;//[0-9]限制大括号里的6位必须是数字,然后"^"和"$"限制开头和结尾,即限制必须只有六位数console.log(reg.test(str));
JS正则表达式--正则量词与元字符相关推荐
- java 正则表达式 和 js正则表达式
最近项目里面频繁使用到正则表达式,在这里将java正则表达式和js正则表达式都做个记录,以便日后参考. 目录 一 java正则表达式 正则规则 java字符串常用的正则方法 java常用的正则表达式 ...
- js 字符串替换_正则精要:玩转JS正则表达式,也许只需这一篇(建议收藏)
0.导引 在正文开始前,先说说正则表达式是什么,为什么要用正则表达式?正则表达式在我个人看来就是一个程序可以识别的规则,有了这个规则,程序就可以帮我们判断某些字符是否符合我们的要求.但是,我们为什么要 ...
- 手机号判断正则php2019,2019手机号码JS正则表达式验证实例代码
概念 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符.及这些特定字符的组合,组成一个"规则字符串",这个"规则字符串"用来表达对字符串的 ...
- html正则表达式怎么写用户名非空,js通过正则匹配没有内容的空标签
js 如何正则匹配没有内容的空标签并移除掉? 例如 等等 正则 /]*?)?>\s*?/ig html=' '+ '\n '+ '\n'+ '\n '+ '\n '+ '\n '+ '\n'+ ...
- js 正则表达式奇偶字符串替换_JS利用正则配合replace替换指定字符
替换指定字符的方法有很多,在本文为大家详细介绍下,JS利用正则配合replace是如何做到的,喜欢的朋友可以参考下 定义和用法 replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一 ...
- java 正则 尖括号_使用JS正则表达式替换括号,尖括号等
如下所示:function toTxt(str) { var RexStr = /\|\"|\'|\&/g str = str.replace(RexStr, function(Ma ...
- html 正则手机号,js正则表达式之手机号码验证
js正则表达式之手机号码验证2017-09-03 11:10 在填写表单的时候,对手机号码进行验证,是用得最多的地方. 你看不管你是app注册,还是论坛注册一个会员,都得用到手机号码. 而且现在互联网 ...
- JS正则表达式常见用法实例详解
这篇文章主要介绍了JS正则表达式常见用法,结合实例形式分析了javascript元字符.分组符.修饰符.量词基本含义,并结合具体案例形式分析了javascript正则基本使用技巧,需要的朋友可以参考下 ...
- 回顾(JavaScript)Js正则表达式
目录 一.Js中正则的特殊符号(元字符) 二.定义正则 三.正则的常用方法 : 四: 常用的正则表达式 一.Js中正则的特殊符号(元字符) /-/: 代表一个模式的开始和结束 ^: 匹配字符串的开始, ...
- JS正则表达式-附身份证号码验证(简易版)
文章目录 JS正则表达式 匹配与搜索 一.方括号,圆括号 二.修饰符 三.元字符 四.量词 身份证号码验证(简易版) 身份证号码规则: 1.地址码 2.年份码 3.月份码 4.日期码 5.顺序码 6. ...
最新文章
- QT自定义控件(生成和使用)
- mysql_ping与mysql长连接
- 改进初学者的PID-手自动切换
- bootstrap-表单
- SpringMVC 快速入门
- 问题六十八:光照模型(Light model)——关于“环境光”模型的补充
- 30天C#基础巩固------了解委托,string练习
- win7新建ios开发环境
- Halcon 排线检测|固定颜色检测
- hover效果移除时元素还原太生硬的情况
- 程序员常用的一些快捷键(持续更新)
- 常见互联网34个术语解释
- 系统之家U盘 win10返回桌面快捷键是什么
- 多种乡村体验游盈利方式,助你撬动上千亿乡村旅游市场!
- 【gflags 】google gflags 使用方法
- lookup与VLOOKUP对比使用;sumifs与sumproduct对比使用(Excel 100例)
- 2022-2028年中国方便食品行业市场分析预测及发展战略研究报告
- curl多线程批量请求
- 如何用python完成评分功能呢_用Python完成PSM(倾向性匹配评分)算法详解
- alexa skill+自定义oauth2服务完整版教程(保姆级图文教程附demo源码)