目录

  • 一、正则表达式基础
  • 二、JS字符串使用正则表达式
    • (1)、新建正则表达式对象
    • (2)、方法
    • (3)、使用
  • 三、Regexper

正则表达式在几乎所有语言中都可以使用,无论是前端的JavaScript、还是后端的Java、c#。他们都提供相应的接口/函数支持正则表达式。

但很神奇的是:无论你大学选择哪一门计算机语言,都没有关于正则表达式的课程给你修,在你学会正则之前,你只能看着那些正则大师们,写了一串外星文似的字符串,替代了你用一大篇幅的if else代码来做一些数据校验。
图片来源于菜鸟教程:

一、正则表达式基础

我们知道,学习一门语言,最开始应该从它的基础语法开始学习。虽然正则表达式不是一门语言,但是同样拥有一套自己的语法规则。


可以看到语法规则比较多,而且并不好记,在我看来,先用后记效率会更高!

修饰符(用于指定额外的匹配策略,在实例中就好理解作用了)

二、JS字符串使用正则表达式

知道了大概正则表达式的语法,那么怎么在JavaScript中使用呢?

(1)、新建正则表达式对象

要使用正则表达式,首先我们需要新建一个正则表达式对象,例如我们新建一个十分简单的:

//方法1:不推荐
let reg = new RegExp('123','g');
//方法2:常用,简单直接,推荐
let reg1 = /123/g;

(2)、方法

新建了正则表达式对象以后,要使用它匹配字符串,那么就要调用它自带的方法:

  1. exec(str):exec() 方法检索字符串(参数str)中的指定值。返回值是被找到的值。如果没有发现匹配,则返回 null。
  2. test(str):test()方法搜索字符串指定的值,根据结果并返回真或假。所以调用它只会返回true或者false。

(3)、使用

有了正则表达式对象和对应的方法后,我们来新建一个字符串,测试一下:

let reg = /123/g;let str = '123456';console.log(reg.exec(str));

结果:


可以看到返回了一个数组,但是数组的每个属性比较特别,分别式0、index、input和groups。

OK!我们学会了正则表达式的最基本的使用。下面我们看看在字符串的方法中使用正则表达式。注意:exec和test方法都是正则表达式对象的方法,并不是字符串的方法,字符串匹配的常用方法有:

  1. search()
    此方法的参数可以是字符串,也可以是正则表达式,返回符合结果的子字符串开头的下标,没有则返回-1:
let reg = /456/g;
let str = '123456';
console.log(str.search(reg));//输出3
  1. split()
    此方法的参数可以是字符串,也可以是正则表达式,按照参数去分割字符串为数组:
let reg = /1/g;
let str = '012314516';
console.log(str.split(reg));
//输出:[ '0', '23', '45', '6' ]
  1. replace()
    这个方法有两个参数,参数一为字符串或者正则表达式,表示要被替换的字符串,参数二为替换的字符:
let reg = /1/g;
let str = '012314516';
console.log(str.replace(reg, '#'));
//输出:0#23#45#6
  1. match()
    这个方法和前三个不一样,参数只能为正则表达式
    如果正则表达式不加全局’g’,和exec的效果一样.,返回一个数组,有很多项。
    如果加全局,就会只返回找到所有元素的数组。
let reg = /1/g;
let str = '012314516';
console.log(str.match(reg));
//因为家了全局,所以输出:[ '1', '1', '1' ]

有关正则表达式在js中的基本应用差不多就这些了,当然,这仅仅只是基础。捕获、贪婪、分组等都还没有涉及到,我打算另外写一篇博客来记录。
详情见:【JS】JavaScript正则表达式详细使用。

三、Regexper

最后,推荐一个十分强的的将正则表达式解析为图形界面的网站,十分好用:https://regexper.com
例如输出检测邮箱的正则表达式:

【JS】JavaScript正则表达式基础相关推荐

  1. JavaScript正则表达式-基础入门

    JavaScript正则表达式-基础入门 字符类,如 /w/ 为匹配任何ASCII字符组成的字符 重复, 如 /w{1,3}/ 为匹配一到三个单词 选择.分组和引用 指定匹配位置 修饰符 直接量字符 ...

  2. JavaScript正则表达式基础知识汇总

    一.创建正则对象: 1.构造函数RegExp创建正则对象 1 var pattern = new RegExp('s$'); //pattern匹配以s结尾的字符串 2.使用正则直接量 1 var p ...

  3. js/javascript正则表达式中/g /i /m的用法,以及实例

    正则的思想都是一样的,但是具体的写法会有所不同,在这里提到的/g,/i,/m在其他的地方也许就不能用了. 一,js正则标志/g,/i,/m说明 1,/g 表示该表达式将用来在输入字符串中查找所有可能的 ...

  4. 常用js(javascript)函数

    常用js(javascript)函数 1.常规函数 javascript常规函数包括以下9个函数: (1)alert函数:显示一个警告对话框,包括一个OK按钮. (2)confirm函数:显示一个确认 ...

  5. html正则表达式 数字,js的正则表达式教程 js 正则表达式 3位数字

    允许空格和~之间的字符但不包含# " ' & = < > ( ) % + \ ; $ | / 用eval转义,你现在reg是一个字符串 正确写法 var ch = &qu ...

  6. 常用js(javascript)函数(转)

    1.常规函数 javascript 常规函数包括以下9个函数: (1)alert函数:显示一个警告对话框,包括一个OK按钮. (2)confirm函数:显示一个确认对话框,包括OK.Cancel按钮. ...

  7. 常用js正则表达式 Javascript正则表达式实战手册

    最近做了几个项目,发现正则表达式用得越来越多了.我个人的习惯是,能通过查手册获取的东西绝不死记硬背,虽然大多数技术网站都搜罗了一堆Javascript正则表达式的用法,但我还是想整理一份更有实战意义的 ...

  8. JS:JavaScript编程语言基础语法总结

    JS:JavaScript编程语言基础语法总结 目录 常用基础语法 一.变量 1.声明变量var 二.语句 1.if判断语句 2.for循环语句 三.函数 1.定义一个函数 常用基础语法 consol ...

  9. educoder头歌实训 web课——JavaScript语言基础:JS循环语句

    educoder头歌实训 太原理工大学web课程----JavaScript语法基础:JS运算符_玛卡巴卡的博客-CSDN博客 第1关:while类型 任务描述 质数的定义如下:大于1的自然数,且除 ...

最新文章

  1. 联想研发支出从未超过2% 被指还不如政府补贴多
  2. java图形用户界面概述_Java中图形用户界面概述
  3. 数据处理之判断值是否为nan(空值)记录
  4. php写入变量cookie,PHP如何用数组变量给setcookie函数赋值?
  5. oracle中sum和count可以嵌套吗_【分享吧】Oracle查询转换
  6. CF914G Sum the Fibonacci(FWT模板+子集卷积)
  7. c语言火车票管理系统360问答,C语言 车票管理系统 前面一点点的程序,不知道报错是什么意思,可以解释一下吗?代码的具体问题是什么...
  8. js清理cookie
  9. 根据经纬度计算两点间的距离_全班学生被此奥数题难倒,理解两点间距离公式的几何意义是关键...
  10. 卡巴斯基最新激活码、授权文件,可用卡巴斯基
  11. PCB制图 | Altium Designer 20软件汉化
  12. [存储] Cobar使用文档(可用作MySQL大型集群解决方案)
  13. 如何给扑克洗牌才能更公平?
  14. [转]2014年最新810多套android源码2.46GB免费一次性打包下载
  15. 阿里云全站加速在游戏行业的最佳实践
  16. 马云和他的少年阿里 百度云下载
  17. SpringBoot项目中自动加载datasourceConfig配置导致启动失败
  18. 修改苹果开发者账号的资料
  19. 微信小程序--小程序系统API
  20. 天使的分裂【NOIP2016提高A组模拟9.24】

热门文章

  1. iOS链接跳转到App
  2. 三星首次更新Gear VR虚拟现实浏览器
  3. 蓝桥杯 基础训练 数字读法
  4. Linux下Awk详解(转载)
  5. ipc备案和ipc证的关系
  6. 乐优商城(十)用户注册
  7. 【论文阅读】注意力综述(自注意力)
  8. 缩略词含义(实习记录)
  9. 项目经理、BIM中心、业主、工程建设、运维对BIM需要了解多少
  10. java mp3播放器