位置: 编程技术 - 正文

javascript的正则匹配方法学习(js正则 \w)

编辑:rootadmin

推荐整理分享javascript的正则匹配方法学习(js正则 \w),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:js正则怎么用,js正则用法,js 正则 g,js 正则 g,javascript 正则,js的正则函数,js正则用法,javascript 正则,内容如对您有帮助,希望把文章链接给更多的朋友!

javascript中正则匹配有3个方法,match,exec,test。这些方法都跟字符串和RegExp对象有关,但使用场景不一样,容易混淆。match是字符串的一个方法,接收一个RegExp对象做为参数,其他的是RegExp对象的方法,接收一个字符串参数。

1. regExp.test(string)

  该方法最简单,在string中找到匹配regExp的字符串则返回true,没找到匹配的字符串则返回false

2. regExp.exec(string)

  该方法稍微复杂些。

javascript的正则匹配方法学习(js正则 \w)

  当regExp没有全局标志时,其返回值为字符串数组:数组的第0号元素为刚匹配到的字符串,如果regExp有子表达式,则数组第1号元素为regExp的第一个子表达式,第2号元素为regExp的第二个字表达式...以此类推。在上例中如果 patt = new RegExp('f(\d)(\d)','g');则 ret_exec 将为字符串数组:['f','1','2']。

  当regExp有全局标志(g选项)时,返回值为第一个匹配到的字符串组成的数组,数组的第0号元素为刚匹配到的字符串,如果regExp有子表达式,则数组第1号元素为regExp的第一个子表达式,第2号元素为regExp的第二个字表达式...以此类推。同时主意,regExp对象的一个属性(lastIndex)被改变了,lastIndex被设置为那个字符串最后一个字符所在的位置,其的后面的那个位置(在上例中是lastIndex = 2)。当再次调用 regExp.exec(string)时,搜索范围将从regExp.lastIndex开始搜索。此时返回值仍然是单元素的字符串数组,lastIndex = 。我们经常用while循环来遍历字符串中的匹配:

  exec方法返回的不是标准的数组,应该算是一个类数组,因为它还有2个属性:input是输入的字符串,index是当前匹配的字符串第一个字符在input中的位置。

3. string.match(regExp)

  该方法比exec简单一些,因为它不用考虑regExp的lastIndex属性。同样,也需要分两种情况(全局匹配与非全局匹配)

  当regExp没有全局标志时,返回值与调用exec一样,返回一个数组,数组的第0号元素为刚匹配到的字符串,如果regExp有子表达式,则数组第1号元素为regExp的第一个子表达式,第2号元素为regExp的第二个字表达式...以此类推。主意该数组同时还有2个属性:input是输入的字符串string,index是当前匹配的字符串第一个字符在input中的位置。

  当regExp有全局标志(g选项)时,很简单,也符合我们的理解:返回所有匹配到的字符串组成的数组。这是标准数组,没有input属性,也没有index属性。返回值数组中除了匹配到的字符串没有任何其他信息。

  从上面的分析看出,如果你只是想判断字符串是否匹配某个正则表达式,就用test方法。如果想一次性取出所有匹配到的字符串,或者只找到第一个匹配的字符串就可以,就用match方法。如果你想多次匹配,而且需要知道每个匹配到的字符串在原始字符串中的位置,或者正则表达式中还有子表达式信息需要关注,就用exec方法。

标签: js正则 \w

本文链接地址:https://www.jiuchutong.com/biancheng/380344.html 转载请保留说明!

上一篇:适用于javascript开发者的Processing.js入门教程(适用于分析原因的工具有哪些)

下一篇:javascript cookie的简单应用(javascript中cookie)

  • 法律会计审计咨询合同需要缴纳印花税吗
  • 缴个人所得税分录怎么写
  • 注会与税务师有什么区别
  • 金税盘的作用是什么意思
  • 公司费用票
  • 企业亏损结转年限举例说明
  • 附加税退回分录
  • 发票开工程服务和工程款的区别
  • 通行费电子发票可以抵扣吗
  • 建筑业统一发票税率多少
  • 过期的食品退回去厂里怎么处理
  • 工业总产值填报原则
  • 简易计税项目是所有发票都是普票吗
  • 房产继承税征收标准是多少
  • 进口增值税内销可以抵扣吗
  • 资产相关的递延收益
  • 主营业务收入和其他业务收入的区别
  • 库存成本与实际成本不符
  • 非上市公司股权转让
  • 超额用电罚款应由谁缴纳
  • 公司购买五金用交税吗
  • 一般纳税人不能转为小规模纳税人吗
  • 未分配利润是怎么算出来的
  • 个税申报的人数比工资表少了怎么办
  • win7为什么这么多人用
  • 递延收益的会计科目
  • deepin咋样
  • php中mysqli怎么连接数据库
  • 前端get请求传多个参数
  • 跨年发票能不能开
  • 分公司改为子公司的所得税业务处理?
  • echarts柱形图
  • 资产负债表中应收账款根据什么填列
  • php 动态调用类方法
  • typescript is as
  • 前端底层架构是什么意思
  • telnet 执行命令
  • python填写表格
  • php手机验证码验证
  • 接受非货币性资产投资会计处理
  • viite
  • 特种设备年检费怎么开具发票
  • phpcms添加内容
  • mac os x10.9.5
  • 应交税费应交增值税的三级科目有哪些
  • 非税收入统一票据怎么查询
  • c#调用excel
  • 法人股的利弊
  • 出口退税是什么
  • 运输开票的税点是多少
  • 金融资产主要包括
  • 维修材料分类
  • 购买商标权需要缴税吗
  • 单位保险柜里都放些什么
  • 非公司股东可以分红吗
  • 收到知识产权服务费入什么科目
  • 以物易物是什么时代
  • 企业对外借款是什么意思
  • 收到银行利息记什么会计科目
  • 一般户可以发工资有什么后果
  • 零申报必须会计吗?自己可以操作吗
  • sql server的go
  • mysql5.7.
  • Windows2008 对决 Windows Vista优势
  • linux动态库的制作
  • 魔方u怎么弄
  • mac os常用快捷键
  • win10周年版
  • pcc是什么文件
  • 用linux配置ftp服务器的过程
  • cocos2d-x2.2.3和android平台环境的搭建
  • cocos2d schedule
  • python中2和2.0的区别
  • node.js 的适用场景?
  • 前后端调用
  • swift协议范型
  • 合肥地税局客服电话
  • 网络发票管理系统
  • 出口退税需要哪些
  • 亿企代账怎么增加辅助科目
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设