JavaScript 正则表达式与字符串查找方法

关于“JavaScript 正则表达式与字符串查找方法”的攻略,可以分为以下三部分进行讲解。

一、正则表达式

1.1 基本语法

正则表达式是一个字符串模式,用于匹配和操作文本。在 JavaScript 中,可以使用两种方式创建正则表达式:字面量和构造函数。

字面量的形式为 /pattern/flags,其中 pattern 表示匹配的模式,flags 表示正则表达式的修饰符。

例如:

let reg = /abc/gi;  // 匹配包含 abc 的字符串,全局、不区分大小写

构造函数的形式为 new RegExp(pattern, flags),其中 patternflags 与字面量中的含义相同。

例如:

let reg = new RegExp('abc', 'gi');  // 匹配包含 abc 的字符串,全局、不区分大小写

1.2 常用方法

在 JavaScript 中,常用的正则表达式方法有 test()exec()。它们都是 RegExp 对象的方法。

test() 方法用于测试字符串是否匹配某个正则表达式,返回布尔值。例如:

let reg = /abc/gi;  
let str = 'abcdefg';
console.log(reg.test(str));  // true

exec() 方法用于在字符串中查找匹配的内容,返回一个数组,该数组的第 0 项是整个正则表达式匹配到的内容,后续项是正则表达式中每个捕获组所匹配到的内容。如果没有找到匹配的内容,则返回 null。例:

let reg = /abc/gi;
let str = 'abcdefg abc';  
console.log(reg.exec(str));  // ["abc", "abc"]

二、字符串查找方法

2.1 indexOf()

indexOf() 方法用于在字符串中查找给定子字符串的位置,如果找到,返回该子字符串在字符串中首次出现的索引;如果没找到,返回 -1。例:

let str = 'hello world';
console.log(str.indexOf('world'));  // 6

2.2 lastIndexOf()

lastIndexOf() 方法与 indexOf() 方法类似,但是是从字符串的末尾向前查找。例:

let str = 'hello world';
console.log(str.lastIndexOf('o'));  // 7

2.3 includes()

includes() 方法用于判断字符串中是否包含指定的子字符串,返回布尔值。例:

let str = 'hello world';
console.log(str.includes('world'));  // true

三、示例说明

3.1 正则表达式示例

例如,我们要从一个字符串中匹配所有的数字,并把它们分别打印出来。可以使用正则表达式来实现。如下所示:

let str = 'abc123xyz456';
let reg = /\d+/g;
let result = null;
while ((result = reg.exec(str))) {
  console.log(result[0]);
}

上述代码中,/\d+/g 表示匹配字符串中的数字,result[0] 表示匹配到的整个数字。

3.2 字符串查找方法示例

例如,我们要在一个文章列表中查找包含指定关键字的文章,并将它们高亮显示。可以使用 indexOf() 和字符串的截取方法 substring() 来实现。如下所示:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>文章列表</title>
    <style>
      .highlight {
        background-color: yellow;
      }
    </style>
  </head>
  <body>
    <ul>
      <li>JavaScript 正则表达式与字符串查找方法</li>
      <li>CSS 媒体查询与响应式设计</li>
      <li>HTML5 强化型表单元素</li>
    </ul>
    <script>
      let keyword = '正则表达式';
      let ul = document.querySelector('ul');
      let lis = ul.getElementsByTagName('li');
      for (let i = 0, len = lis.length; i < len; i++) {
        let li = lis[i];
        if (li.innerText.indexOf(keyword) !== -1) {
          li.innerHTML = li.innerHTML.replace(keyword, '<span class="highlight">' + keyword + '</span>');
        }
      }
    </script>
  </body>
</html>

上述代码中,我们使用 indexOf() 方法查找每个文章标题中是否包含指定的关键字,如果包含,使用 replace() 方法将关键字替换为带有高亮样式的关键字。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaScript 正则表达式与字符串查找方法 - Python技术站

(0)
上一篇 2023年5月28日
下一篇 2023年5月28日

相关文章

  • js获取json中key所对应的value值的简单方法

    要想获取JSON数据中某个key对应的value值,可以使用JavaScript中JSON对象的相关方法来实现。下面是两种简单的方法: 方法一:使用点语法 如果你知道JSON数据中具体的key名字,可以使用点语法(.)获取其对应的value值。例如,下面是一个包含两个key值对(name和age)的JSON对象: { "name": &q…

    JavaScript 2023年5月27日
    00
  • JavaScript函数调用经典实例代码

    JavaScript函数调用经典实例代码攻略: 一、函数调用方式 JavaScript 中函数的调用分为四种方式: 函数调用 直接调用函数。 javascript function fn1() { console.log(“fn1 被调用了”); } fn1(); 方法调用 将函数作为对象的一个属性,通过该对象调用函数。 javascript var obj…

    JavaScript 2023年5月27日
    00
  • JavaScript简介_动力节点Java学院整理

    JavaScript简介:动力节点Java学院整理 什么是JavaScript JavaScript是一种基于对象和事件驱动的脚本语言,是目前世界上应用最广泛的编程语言之一。通常用于客户端的Web开发,可以通过HTML文档中内嵌的JavaScript脚本来实现对网页的交互和动态效果。 JavaScript的特点 JavaScript具有以下几个特点: 轻量级…

    JavaScript 2023年5月18日
    00
  • JavaScript中使用Math.PI圆周率属性的方法

    当我们需要计算几何图形的面积或周长时,经常需要用到圆周率常数 π (pi)。在 JavaScript 中,我们可以使用 Math.PI 属性来访问这个数值,下面是详细步骤: 步骤1:访问Math.PI常数 Math.PI 属性中存储着圆周率的数值。可以通过直接使用 Math.PI 的方式来访问这个属性。代码如下: console.log(Math.PI); …

    JavaScript 2023年5月28日
    00
  • python实现斗地主分牌洗牌

    让我来为你详细讲解如何使用 Python 实现斗地主的牌局分配和洗牌。 准备工作 为了实现斗地主案例,你需要安装 Python 并且了解 Python 基础语法的使用。此外还需用到 Python 自带的 random 模块。 实现分配牌 首先我们需要生成一副有 54 张牌的扑克牌,并将其打乱顺序。在 Python 中,可以通过创建一个包含所有扑克牌的列表来实…

    JavaScript 2023年5月28日
    00
  • JavaScript定义类和对象的方法

    JavaScript定义类和对象的方法有两种,分别是使用构造函数和使用class关键字,下面将分别进行讲解。 使用构造函数定义类和对象 在JavaScript中使用构造函数来定义类和对象是一种比较常见的方法,具体步骤如下: 定义一个构造函数,函数名一般大写字母开头,构造函数内部定义属性和方法。 示例代码: function Person(name, age)…

    JavaScript 2023年5月27日
    00
  • 用nodejs实现json和jsonp服务的方法

    以下是详细讲解“用nodejs实现json和jsonp服务的方法”的完整攻略。 什么是JSON和JSONP JSON (JavaScript Object Notation)是一种轻量级的数据交换格式,易于读写、快速解析和生成,通常用于客户端与服务器之间的数据传输。 JSONP (JSON with Padding)是一种跨域通信技术,它利用了标签的跨域特性…

    JavaScript 2023年5月27日
    00
  • HTML+JavaScript实现扫雷小游戏

    项目准备要实现HTML+JavaScript的扫雷小游戏,需要先准备好游戏界面,以及相关的代码和算法。首先,需要绘制游戏地图,并放置相应的地雷。接着,需要通过JavaScript编写游戏逻辑和算法,并在对应的HTML文件中引用相应的JS脚本和CSS样式表,以配置游戏的界面和交互组件。需要注意的是,在引用JS脚本的过程中,应该采用外链方式,而不是直接嵌入到HT…

    JavaScript 2023年5月28日
    00
合作推广
合作推广
分享本页
返回顶部