JS中使用正则表达式g模式和非g模式的区别
发布时间 - 2026-01-11 00:29:30 点击率:次先给大家说下js正则表达式中的g到底是什么意思

g是global的缩写啊!
就是匹配全部可匹配结果,
如果你不带g,在正则过程中,字符串是从左至右匹配的,如果匹配成功就不再继续向右匹配了,如果你带g,它会重头到尾的把正确匹配的字符串挑选出来
例如:
var str = 'aaaaaaaa' var reg1 = /a/ var reg2 = /a/g str.match(reg1) // 结果为:["a", index: 0, input: "aaaaaaaa"] str.match(reg2) // 结果为:["a", "a", "a", "a", "a", "a", "a", "a"]
js正则表达式g模式与非g模式的区别,具体代码如下所示:
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>mischen</title>
<script>
//js中使用正则表达式
function test(){
//生成正则表达式对象;
// 在g模式下,正则表达式对象的exec和test方法,依赖 正则表达式对象的lastIndex属性,而lastIndex会根据我们exec
// 和test的执行 发生偏移 如果没有相应匹配 lastIndex 重归0
//在非g模式下,正则表达式对象的exec和test方法, lastIndex 不会发生偏移
//exec方法 如果正则表达式中 有分组 第一个返回的是 匹配到的字符串 后面是根据分组分别返回的匹配的 字符串
var reg=new RegExp("\\d+[a-z]+","ig"); //字符串里 \ 表示转译
var str="123abc123def";
alert(reg.lastIndex);//0
alert(reg.exec(str));//123abc
alert(reg.lastIndex);//6
alert(reg.test(str));//true
alert(reg.lastIndex);//12
}
// test();
test1();
function test1(){
//非g模式下使用 exec 和test
var reg=new RegExp("\\d+[a-z]+","i");
var str="123abc123def";
// alert(reg.lastIndex);//0
// alert(reg.exec(str));//123abc
// alert(reg.lastIndex);//0
// alert(reg.test(str));//true
// alert(reg.lastIndex);//0
// alert(reg.exec(str));//123abc
// alert(reg.lastIndex);//0
// alert(reg.test(str));//true
// alert(reg.lastIndex);//0
var reg=new RegExp("(\\d+)([a-z]+)","i");
alert(reg.exec(str));//123abc,123,abc
alert(reg.exec(str));//123abc,123,abc
}
</script>
</head>
<body>
</body>
</html>
以上所述是小编给大家介绍的JS中使用正则表达式g模式和非g模式的区别,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
# js正则表达式
# g
# JS中正则表达式全局匹配模式 /g用法详解
# javascript正则表达式参数/g与/i及/gi的使用指南
# JS正则表达式修饰符global(/g)用法分析
# 正确使用带有"g"标记的javascript正则表达式
# JavaScript正则表达式中g标志详解
# 正则表达式
# 如果你
# 模式下
# 小编
# 的是
# 第一个
# 在此
# 是从
# 给大家
# 如果没有
# 所示
# 不带
# 它会
# 到底是什么
# 所述
# 给我留言
# 到尾
# 感谢大家
# 先给
# 与非
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
java中使用zxing批量生成二维码立牌
如何撰写建站申请书?关键要点有哪些?
如何快速搭建高效服务器建站系统?
javascript基本数据类型及类型检测常用方法小结
java获取注册ip实例
高防服务器租用如何选择配置与防御等级?
如何用免费手机建站系统零基础打造专业网站?
Laravel DB事务怎么使用_Laravel数据库事务回滚操作
Laravel如何实现邮箱地址验证功能_Laravel邮件验证流程与配置
JS实现鼠标移上去显示图片或微信二维码
Laravel广播系统如何实现实时通信_Laravel Reverb与WebSockets实战教程
Win11任务栏卡死怎么办 Windows11任务栏无反应解决方法【教程】
Windows驱动无法加载错误解决方法_驱动签名验证失败处理步骤
通义万相免费版怎么用_通义万相免费版使用方法详细指南【教程】
教你用AI润色文章,让你的文字表达更专业
Laravel如何实现多级无限分类_Laravel递归模型关联与树状数据输出【方法】
laravel服务容器和依赖注入怎么理解_laravel服务容器与依赖注入解析
香港服务器如何优化才能显著提升网站加载速度?
魔毅自助建站系统:模板定制与SEO优化一键生成指南
Windows10电脑怎么设置虚拟光驱_Win10右键装载ISO镜像文件
如何在宝塔面板创建新站点?
宙斯浏览器视频悬浮窗怎么开启 边看视频边操作其他应用教程
Edge浏览器提示“由你的组织管理”怎么解决_去除浏览器托管提示【修复】
高端云建站费用究竟需要多少预算?
网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?
Python自然语言搜索引擎项目教程_倒排索引查询优化案例
Laravel如何自定义错误页面(404, 500)?(代码示例)
在线制作视频的网站有哪些,电脑如何制作视频短片?
Android Socket接口实现即时通讯实例代码
Laravel如何实现登录错误次数限制_Laravel自带LoginThrottles限流配置【方法】
Laravel如何使用Seeder填充数据_Laravel模型工厂Factory批量生成测试数据【方法】
Laravel中Service Container是做什么的_Laravel服务容器与依赖注入核心概念解析
Laravel Livewire是什么_使用Laravel Livewire构建动态前端界面
Laravel如何实现用户注册和登录?(Auth脚手架指南)
怎么用AI帮你为初创公司进行市场定位分析?
Gemini怎么用新功能实时问答_Gemini实时问答使用【步骤】
HTML 中如何正确使用模板变量为元素的 name 属性赋值
Laravel如何处理CORS跨域请求?(配置示例)
专业商城网站制作公司有哪些,pi商城官网是哪个?
如何用y主机助手快速搭建网站?
长沙企业网站制作哪家好,长沙水业集团官方网站?
如何续费美橙建站之星域名及服务?
Laravel API资源(Resource)怎么用_格式化Laravel API响应的最佳实践
html5audio标签播放结束怎么触发事件_onended回调方法【教程】
Laravel如何实现API资源集合?(Resource Collection教程)
如何在建站之星网店版论坛获取技术支持?
DeepSeek是免费使用的吗 DeepSeek收费模式与Pro版本功能详解
Linux虚拟化技术教程_KVMQEMU虚拟机安装与调优
iOS中将个别页面强制横屏其他页面竖屏
如何用VPS主机快速搭建个人网站?

