js正则表达式匹配字符串

正则表达式在js编程中应用非常广泛,js正则又称为规则表达式,程序员通常使用正则表达式来检索或替换那些符合某个规则的文本。总之,正则表达式是学习编程的基本语法。下面小编给大家介绍下js正则匹配之模式匹配的方法。

1、JS中的正则表达式用“Regexp”的对象表示,可以用Regexp()构造函数来创建Regexp对象。文章源自设计学徒自学网-http://www.sx1c.com/38941.html

例如用来寻找“所有以s结尾的字符串”,var pattern=new RegExp(""s$);文章源自设计学徒自学网-http://www.sx1c.com/38941.html

除了以这种方式来创建还可以用直接量的语法来直接创建,就上面的例子可以这么写:var pattern=/s$/;正则表达式的直接量定义在双斜杠中。文章源自设计学徒自学网-http://www.sx1c.com/38941.html

2、JS中用String对象来执行正则表达式模式寻找和检索替换操作的方法:文章源自设计学徒自学网-http://www.sx1c.com/38941.html

search()方法是支持正则表达式中最简单的方法,参数是一个正则表达式,返回的是第一个与之匹配的字串的起始位置,如果找不到匹配的字串返回-1(不支持全局检索,忽略正则表达式参数修饰符g)。图一为具体代码,图二为执行结果文章源自设计学徒自学网-http://www.sx1c.com/38941.html

js正则表达式匹配字符串 -1文章源自设计学徒自学网-http://www.sx1c.com/38941.html

js正则表达式匹配字符串 -2文章源自设计学徒自学网-http://www.sx1c.com/38941.html

3、String对象之replace()方法,用来执行检索替换操作。第一个参数是正则表达式,第二个参数是要替换的字符串。修饰符带g则源字符串中的所有与模式匹配的子串都将用第二个参数替换;修饰符不带g则替换所匹配的第一个子串。文章源自设计学徒自学网-http://www.sx1c.com/38941.html

js正则表达式匹配字符串 -3文章源自设计学徒自学网-http://www.sx1c.com/38941.html

js正则表达式匹配字符串 -4文章源自设计学徒自学网-http://www.sx1c.com/38941.html

4、String对象之math()方法,它是最常用的正则表达式方法。只有一个正则表达式参数参数,返回的是一个由检索结果组成的数组。如果该正则表达式设置了修饰符g,则该方法返回了所有检索结果。

自定义函数functi0n matchtest(){

var text="wo11a22d122n,b33232u";

var mat=text.match(/d+/g);

alert(mat);

}

在body中加按钮

运行结果将“11,22,122,33232”这些字符串返回了。

js正则表达式匹配字符串 -5

5、正则表达式是RegExp对象来表示的,创建RegExp对象时,第一个参数包含了正则表达式的主题部分(需要注意的是不论是字符串的直接量还是正则表达式都是用“”作为转义字符的前缀,所以在RegExp创建对象时候使用到转义字符是必须用“\”)。RegExp第二个参数是可选的,它指的是正则表达式的修饰符(只能传g、i、m或者他们的组合)。

实例:查找2个数字的正则表达式

functi0n createRegExp(){

var text="w11i22d122n,b33232d";

var reg=new RegExp("\d{2}","g");

var mat=text.match(reg);

alert(mat);

}

执行结果“11,22,12,33,23”

js正则表达式匹配字符串 -6

6、正则表达式属性:

global,只读的布尔值,说明这个表达式是否带有修饰符g;

ignoreCase,只读的布尔值,说明这个表达式是否带有修饰符i;

multiline,只读的布尔值,说明这个表达式是否带有修饰符m;

source,只读字符串,包含正则表达式文本;

lastIndex,可读写整数,如果带有修饰符g则这个属性存储在整个字符串下次检索的开始位置。

实例:

functi0n zzbdssx(){

var reg=new RegExp("\d{2}","g");

alert("是否带有修饰符g:"+reg.global+"rn是否带有修饰符i:"+

reg.ignoreCase+"rn是否带有修饰符m:"+reg.multiline+

"rn正则表达式文本:"+reg.source+"rn下个位置:"+reg.lastIndex);

}

js正则表达式匹配字符串 -7

7、RegExp方法总结之exec()方法:对制定的字符串执行正则表达式,没找到任何匹配返回null,找到了返回一个数组,不带g也返回一个数组,也没有全局匹配。测试代码如下:

functi0n exectest(){

var reg=new RegExp("\d{2}");//,"g");

var text="w11ab22dn122n,u33232u";

alert(reg.exec(text));

}

js正则表达式匹配字符串 -8

8、RegExp方法总结之test()方法:对某个字符串进行检测,包含一个正则表达式匹配结果返回true。测试代码如下:

functi0n testtest(){

var reg=new RegExp("\d{2}");//,"g");

var text="w11ab22dn122yn,bu33232d";

alert("执行结果:"+reg.test(text));

}

js正则表达式匹配字符串 -9

以上就是js正则匹配之模式匹配的方法,对js正则匹配不熟悉的新手们,赶紧来练习操作下吧。

继续阅读
我的微信
微信扫一扫
weinxin
我的微信
惠生活福利社
微信扫一扫
weinxin
我的公众号
 
设计学徒自学网
  • 本文由 设计学徒自学网 发表于 2024年1月24日09:05:15
  • 转载请务必保留本文链接:http://www.sx1c.com/38941.html
    本站展示的所有图文软件均来自于互联网,仅用于软件学习研究分享传递,请勿商用,本站如有侵权请联系客服删除。
匿名

发表评论

匿名网友
:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

拖动滑块以完成验证