之前一直对正则表达式一知半解,因为一般情况都没有使用。后来遇到需要使用正则表达式的地方,重新将正则表达式学习了一遍。下面的内容是我学习使用的一些心得。


一、ES6之前的正则表达式

正则简单的理解就是一个搜索条件,计算机根据正则这个限定的搜索条件搜索需要的内容。其应用十分广泛,使用的编程语言也十分多,例如C,Python,js,Java,PHP等等。下面我们只讨论在js中的应用。

1 JavaScript RegExp 对象

正则表达式在js中是集成在RegExp对象中的,我们只需要搞清楚这个对象的属性和方法即可。

1.1 创建RegExp对象

要在js中使用正则表达式,我们需要先创建一个RegExp对象。

var patt=new RegExp(pattern,modifiers);// 或者更简单的方式:var patt=/pattern/modifiers;

如上面代码所示,我们是用来两种方法创建RegExp对象,其效果是一样的,在使用的时候任选一种即可。其中pattern(模式) 描述了表达式的模式,modifiers(修饰符) 用于指定全局匹配、区分大小写的匹配和多行匹配,创建的patt对象可以看成一个筛选条件。

1.1.1 pattern(模式)

此部分是表达式部分,限定筛选的条件。此部分是重点,需要记忆的内容比较多。这里只简要说明一些规则

1.1.2 modifiers(修饰符)

修饰符限定筛选范围,取值只有三种,分别代表的含义如下表

修饰符描述i执行对大小写不敏感的匹配。g执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。m执行多行匹配。

1.2 使用RegExp对象(RegExp对象方法)

以下面代码为例,更好的理解其使用

var str = "hello world"var patt = /l/gvar execResult = patt.exec(str) // lvar testResult = patt.test(str) // truevar toStringResult = patt.toString() // /l/g

1.3 外部使用

这部分使我们的应用重点,主要用于string对象

废话不多说,上代码

var str = "hello world"var patt = /l/gvar searchResult = str.search(patt) //2var matchResult = str.match(patt) //["l

js 正则或_ES6之正则扩展相关推荐

  1. js(最新)手机号码 正则验证 - 代码篇

    现在手机号码,除了以11+.12+开头的没有,别的好像都有了! 代码如下: 方法一: function checkPhone(){ var phone = $(".phone"). ...

  2. php 正则去除空格,php 正则去掉

    1.php 正则去掉 $str=' Factory Supply High Quality Maitake Mushroom Extract Powder Bulk $uuu=preg_replace ...

  3. 正则语法+JavaScript的正则使用

    因为前端学习和工作的时候常用到正则,所以总结了一下正则表达式的基础语法和JavaScript怎么去使用正则 一.作用 正则的作用 1)对表单域项目(用户名.密码.邮箱.qq号码.手机等等)进行验证 2 ...

  4. Node.js项目实践:构建可扩展的Web应用

    2019独角兽企业重金招聘Python工程师标准>>> Node.js项目实践:构建可扩展的Web应用 <Node.js项目实践:构建可扩展的Web应用>用专业的讲解方式 ...

  5. 读《Node.js项目实践:构建可扩展的Web应用》 ——引编程慢慢变成系统化的“砌砖活”...

    读<Node.js项目实践:构建可扩展的Web应用> --引编程慢慢变成系统化的"砌砖活" 眼里的Node.JS 初初接触node是一年前的事,那时候年少不更事.还在纠 ...

  6. js mysql替换_JavaScript_js使用正则实现ReplaceAll全部替换的方法,JS 字符串有replace() 方法。但这 - phpStudy...

    js使用正则实现ReplaceAll全部替换的方法 JS 字符串有replace() 方法.但这个方法只会对匹配到的第一个字串替换. 如下例: New Document var str = " ...

  7. php 正则替换style,php正则去除js,class,id,style标签代码

    在写xml的时候,文档要求内容里面只要图片和段落就可以了,其他的css,js什么的都不需要. 所以,在输出的时候,就要用正则去过滤掉不需要的标签代码. 第一种:php正则去除js标签代码.$preg  ...

  8. js中字符串正则表达式、正则法则pattern、RegExp、flags、exec

    全栈工程师开发手册 (作者:栾鹏) js系列教程3-字符串.正则表达式全解 js中字符串正则表达式 正则法则的应用 正则表达式 = /pattern/flags 其中flags中g表示匹配全部,i表示 ...

  9. php正则换成js正则,php正则替换_php使用正则替换过滤掉js脚本例子

    摘要 腾兴网为您分享:php使用正则替换过滤掉js脚本例子,榛果民宿,掌上书院,夜读小说,学堂里等软件知识,以及中辉期货,车易行违章,孢子,必应壁纸app,鲁证期货,dota26.88,ip摄像头ap ...

最新文章

  1. CentOS 6.3+Python 2.7.10安装pycurl遇到的问题汇总
  2. vue require动态路径图片报错_Vue 动态生成路由结构
  3. C++标准(Standard for ProgrammingLanguage C++)
  4. 在没有上传服务器端的情况下看到上传图片的效果图window.createObjectURL
  5. 集成学习——机器学习(周志华)
  6. 2020最新Java高级工程师学习路线
  7. linux系统的手机刷机包,ubuntu系统修复工具-ubuntu手机操作系统刷机包v20.04 官方版 - 极光下载站...
  8. pyhive 安装sasl
  9. MAPGIS提示请在“系统设置”里设置好系统库路径(SUVSLIB或者其他)再重新运行程序
  10. JDK11.0.9-windows64下载
  11. 大数据背后的网络文学
  12. 有关python毕设题目_python毕设题目
  13. CSS 字体加粗,导致布局宽度改变怎么处理?
  14. 关于大地测量领域常用的角度知识汇总(方位角,竖直角)
  15. 【Python】 Python小游戏-贪吃蛇大冒险
  16. 微型计算机电路试卷,微机原理试卷及答案2
  17. 谨慎解决:找不到指定的模块(Exception from HRESULT:0X8007007E)
  18. 通过STC12C5A08S2实战项目来理解单片机是怎么工作的
  19. mini《猜字》游戏,谁玩谁迷糊
  20. 复旦大学计算机专业博士生导师,危辉 - 复旦大学 - 计算机科学技术学院

热门文章

  1. matlab设计pss参考信号,[OAI][Layer1]PSS/SSS procedure
  2. 如何用 Nginx 在公网上搭建加密数据通道
  3. 在Java 17中偏向锁可算是废了
  4. 妙用 Intellij IDEA 创建临时文件,Git 跟踪不到的那种
  5. 扫码登录是如何实现的?
  6. 不用 Notepad++ ,你还有这些更好的选择!
  7. 从头开发一个BurpSuite数据收集插件
  8. 通过mtd读写flash_Ambiq继续引领低功耗单片机,新款Apollo4将2MB MRAM作为Flash
  9. prism项目搭建 wpf_WPF Step By Step 系列-Prism框架在项目中使用
  10. 数据库更新的时候不能正确的执行找错记录