js正则的记录1--持续更新
来源:互联网 发布:linux shell定义变量 编辑:程序博客网 时间:2024/06/05 17:50
前言
这次通俗易懂的介绍一下正则,正则的使用广泛,用于匹配特定的内容。那借此文章做个记录,方便以后查找。
认识js正则
正则的由来或写法名称等等什么的,理论性东西我就不说了,因为我忘了,大家先看表,对正则留个印象。
各种词的说明
这里我要特别说明一下修饰词M,例子:
var re=/^b./g;var str=“bd76 dfsdfsdfsdfs dffsb76dsf sdfsdf”;var rs = str.match(re);
此时加入g和不加入g,都只返回第一个匹配{bd},如果regx=/^b./gm,则返回所有的匹配{bd,b7},注意如果regx=/^b./m,则也只返回第一个匹配。所以,加入m表明可以进行多行匹配,加入g表明可以进行全局匹配,综合到一起就是可以进行多行全局匹配。
当然还有很多修饰词和元字符我没有列出来。此篇文章还会持续更新的。
两种写法
1. var re = new RegExp("abc","igm"); 2. var re = /abc/igm;
两种写法的结果是一样的 ,匹配abc字符串,igm是修饰词。一般写正则都会用第二种,如果匹配需要传参数的时候就用第一种, 例:
var re = new RegExp(args, "g");
正则的5个方法
- test—测试字符串是否匹配给出的匹配模式,返回布尔值;
re.test( str );
- search—匹配正则返回匹配值的首次位置,若没有就返回-1;
str.search( re );
- match—返回包含所有匹配子字符串的数组,没有匹配正确就返回mull;
str.match( re );
- replace—最常用的正则处理字符串方法之一,把匹配到的值替换掉.
该方法有两个参数,第一个参数是要匹配的正则,当然也可以不是正则,就不跑题了,第二个参数是字符串,也可以是callback,这个callback也可以有1个到多个参数,callback的第一个参代表正则匹配到的主体,第二个之后都是正则的子类。例子:
var str = "abdaji321pnvdsrf8790cnsl23vvn78q9"; var re = /(\d+)/g; str = str.replace(re, function(ns, $1){ alert("["+ $1 +"]"); });
这个例子是找出字符串中的数字,说了到子类,再看下面这个例子:
var str = "2016-8-27"; var re = /(\d+)(-)/g; str = str.replace(re,function(ns,$1,$2){ return $1 + "."; }) alert(str)
这个例子是改变日期格式的,re正则匹配到多个数字和 - 符号,如果\d不加上+号,只能匹配到一个2。大家看到 (\d+),(-),匹配数字和匹配 - 符号,而且用括号包了起来,第一个()代表的是该正则的第一个子类,以此类推,第二个()当然就代表第二个子类啦,再看看重复子类:
var re = /(a-c)(\d+)\1\2/ig;
可以看到()后面有\1\2,意思就是重复第一个子类和第二个子类。
小结
- 这篇文章是正则的入门基础,我没有太多的理论去帮助理解。
- 下一篇会分享更多的例子和常用验证的正则匹配。
- 其实正则不止5种方法,还有其他的方法会在后续更新。
0 0
- js正则的记录1--持续更新
- JS 正则表达式常用的判断,持续更新
- 正则表达式学习记录(持续更新)
- js中的正则表达式,持续更新....
- 持续更新--js、css前端记录
- 正则表达式的应用(持续更新ing)
- 零碎的问题记录--持续更新中......
- 有意思的记录-C++(持续更新)
- 记录手边的一边错误(持续更新)
- MySql的学习记录-持续更新
- 日常遇到的常见问题记录 ------持续更新
- 正则表达式-持续更新
- 异常记录【持续更新】
- 关于js的一些小结---持续更新
- js总结-持续更新。。。。。
- 常用正则(持续更新)
- java 正则 持续更新中
- 【原创,持续更新】正则练习
- 不同内核浏览器的差异以及浏览器渲染简介
- 详解MVP矩阵之ProjectionMatrix
- PsychoPy入门_07_鼠标的使用
- 自定义view实现ViewPager指示器
- Spring 4.3.3依赖的pom
- js正则的记录1--持续更新
- 3 基本语法下
- 在ASPNET中的Gridview控件,可以将单元格周边相同的值合并成一个单元格!能想到那种效果吗?
- jdk环境变量配置
- MobiCom 2016 --- 20160929 in BUPT
- 4 事件处理
- 编译 ROS slam_gmapping
- hadoop完全分布式搭建
- Android SpannedString