【JavaScript】<正则表达式Regular Expression>JavaScript正则表达式解析

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 【1月更文挑战第17天】【JavaScript】<正则表达式Regular Expression>JavaScript正则表达式解析

目录

一、创建正则表达式对象:

1.使用new RegExp对象方式:

2.使用字面量方式:

二、字符串&正则表达式API:

1.split字符串分割:

2.search字符串检索:

3.match字符串检索:

4.replace字符串替换:


常用的正则表达式:
   正则表达式 Regular Expression,用于定义一些字符串规则,计算机根据这些正则表达式,来检验一个字符串是否符合预先定义的规则,或者将字符串中符合规则的内容提取出来。

       正则表达式本身是一个对象。


一、创建正则表达式对象:

1.使用new RegExp对象方式:

       创建一个正则表达式对象:var 正则表达式变量名 = new RegExp("正则表达式", "匹配模式");

       使用正则表达式方法test()可以用来检验一个字符串是否符合正则规则表达式的规则,如果符合则返回true,否则返回false。不填写匹配模式,默认情况下,正则表达式区分严格区分大小。

// 创建一个正则表达式对象:
// var 正则表达式变量名 = new RegExp("正则表达式", "匹配模式");
var reg = new RegExp("a"); //只要字符串中包含a
var str = "krian";
// 使用test()方法测试字符串是否符合正则表达式规则:
var result = reg.test(str);
console.log(result);

image.gif

       在构造函数中,可以传递一个匹配模式参数

    • i:忽略大小写
    • g:全局匹配模式

    2.使用字面量方式:

    语法:var 正则表达式名 = / 正则表达式 / 匹配模式

      • - :表示匹配内容区间
      • [ ] :表示任意[ ]中的内容都可以完成匹配
      • [ ^ ]:表示除了^后面内容都可以完成匹配
      • { }:指定重复次数

      image.gif编辑


      二、字符串&正则表达式API:

      1.split字符串分割:

             可以将一个字符串拆分为一个数组。方法中可以传递一个正则表达式作为参数,这样方法将会根据正则表达式去拆分字符串。

      2.search字符串检索:

             可以搜索字符串中是否含有指定的内容。如果搜索到指定内容,则返回第一次出现的索引,如果没有搜索到则返回-1。它可以接受以一个正则表达式作为参数,然后会根据正则表达式去检索字符串

      3.match字符串检索:

             可以根据正则表达式,从一个字符串中将符合条件的内容提取出来。

             默认情况下match只会找到第一个符合要求的内容,找到以后就停止检索。我们可以设置正则表达式为全局匹配模式,这样就会匹配到所有的内容。

             可以为一个正则表达式设置多个匹配模式,且顺序无所谓match会将匹配到的内容封装到一个数组中返回,即使只查询到一个结果。

      4.replace字符串替换:

      可以将字符串中指定内容替换为新的内容。

        • 参数1:被替换的内容,可以接受一个正则表达式作为参数
        • 参数2:新的内容。(默认只会替换第一个)
        相关文章
        |
        2月前
        |
        JavaScript 前端开发 Go
        CSS 与 JS 对 DOM 解析和渲染的影响
        【10月更文挑战第16天】CSS 和 JS 会在一定程度上影响 DOM 解析和渲染,了解它们之间的相互作用以及采取适当的优化措施是非常重要的。通过合理的布局和加载策略,可以提高网页的性能和用户体验,确保页面能够快速、流畅地呈现给用户。在实际开发中,要根据具体情况进行权衡和调整,以达到最佳的效果。
        |
        3月前
        |
        JavaScript
        js 解析 byte数组 成字符串
        js 解析 byte数组 成字符串
        91 5
        |
        2月前
        |
        存储 前端开发 JavaScript
        JavaScript垃圾回收机制深度解析
        【10月更文挑战第21】JavaScript垃圾回收机制深度解析
        121 59
        |
        2月前
        |
        机器学习/深度学习 自然语言处理 JavaScript
        信息论、机器学习的核心概念:熵、KL散度、JS散度和Renyi散度的深度解析及应用
        在信息论、机器学习和统计学领域中,KL散度(Kullback-Leibler散度)是量化概率分布差异的关键概念。本文深入探讨了KL散度及其相关概念,包括Jensen-Shannon散度和Renyi散度。KL散度用于衡量两个概率分布之间的差异,而Jensen-Shannon散度则提供了一种对称的度量方式。Renyi散度通过可调参数α,提供了更灵活的散度度量。这些概念不仅在理论研究中至关重要,在实际应用中也广泛用于数据压缩、变分自编码器、强化学习等领域。通过分析电子商务中的数据漂移实例,展示了这些散度指标在捕捉数据分布变化方面的独特优势,为企业提供了数据驱动的决策支持。
        137 2
        信息论、机器学习的核心概念:熵、KL散度、JS散度和Renyi散度的深度解析及应用
        |
        29天前
        |
        JavaScript 前端开发 API
        Vue.js响应式原理深度解析:从Vue 2到Vue 3的演进
        Vue.js响应式原理深度解析:从Vue 2到Vue 3的演进
        56 0
        |
        2月前
        |
        JavaScript 前端开发 索引
        JavaScript ES6及后续版本:新增的常用特性与亮点解析
        JavaScript ES6及后续版本:新增的常用特性与亮点解析
        60 4
        |
        1月前
        |
        前端开发 JavaScript
        JavaScript新纪元:ES6+特性深度解析与实战应用
        【10月更文挑战第29天】本文深入解析ES6+的核心特性,包括箭头函数、模板字符串、解构赋值、Promise、模块化和类等,结合实战应用,展示如何利用这些新特性编写更加高效和优雅的代码。
        46 0
        |
        2月前
        |
        JavaScript 前端开发
        电话号码正则表达式 代码 javascript+html,JS正则表达式判断11位手机号码
        电话号码正则表达式 代码 javascript+html,JS正则表达式判断11位手机号码
        129 1
        |
        2月前
        |
        JavaScript 前端开发 开发者
        原型链深入解析:JavaScript中的核心机制
        【10月更文挑战第13天】原型链深入解析:JavaScript中的核心机制
        40 0
        |
        2月前
        |
        JavaScript API
        深入解析JS中的visibilitychange事件:监听浏览器标签间切换的利器
        深入解析JS中的visibilitychange事件:监听浏览器标签间切换的利器
        157 0

        推荐镜像

        更多