JavaScript正则表达式方法总结

str.match(reg)

1.reg没有全局标志g,match将只执行一次匹配。匹配成功返回一个数组,arr = [$0,$1,$2,...,index,str],匹配失败返回null。

   arr中的参数说明,$0是匹配文本,$i是第i个子表达式匹配的文本,index是$0在stringObject中的起始位置,str是对字符串对象的引用

2.reg有全局标志g,macth将执行全局检索。匹配成功返回一个数组,arr = [str0,str1,str2,...],匹配失败返回null。

   arr中的参数说明,str0是匹配文本,stri是匹配的子字符串(是对整个reg的匹配,非子表达式),没有额外参数。


str.search(reg)

返回第一个与reg匹配的子串的起始位置,没有匹配返回-1.


reg.exec(str)

1. reg没有全局标志g,匹配成功返回一个数组,arr = [$0,$1,$2,...,index,str],匹配失败返回null,与string.match相同

2. reg有全局标志g,exec会在reg的lastIndex属性指定的字符处开始检索字符串,找到匹配文本,lastIndex会设置该匹配文本的最后一个字符的下一个
  位置。找不到匹配文本,返回null,lastIndex重置为0

如果在一个字符串中完成了一次模式匹配之后要开始检索新的字符串,就必须手动地把 lastIndex 属性重置为 0

例如:

复制代码
var str = "Visit W3School"; 
var patt = new RegExp("W3School","g");
var result;

while ((result = patt.exec(str)) != null) {
    document.write(result);
    document.write("<br />");
    document.write(patt.lastIndex);
}
复制代码

或者直接

while (result = patt.exec(str)) {
    document.write(result);
    document.write("<br />");
    document.write(patt.lastIndex);
}

reg.test(str)

返回字符串中是否含有与reg匹配的文本,有则true,无则false。

 

posted @   全玉  阅读(170)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示