【学习 JavaScript】 JavaScript 教程 JavaScript 简介 JavaScript 用法 JavaScript Chrome 中运行 JavaScript 输出 JavaScript 语法 JavaScript 语句 JavaScript 注释 JavaScript 变量 JavaScript 数据类型 JavaScript 对象 JavaScript 函数 JavaScript 作用域 JavaScript 事件 JavaScript 字符串 JavaScript 字符串模板 JavaScript 运算符 JavaScript 比较 JavaScript 条件语句 JavaScript switch 语句 JavaScript for 循环 JavaScript while 循环 JavaScript break 和 continue 语句 JavaScript typeof JavaScript 类型转换 JavaScript 正则表达式 JavaScript 错误 JavaScript 调试 JavaScript 变量提升 JavaScript 严格模式 JavaScript 使用误区 JavaScript 表单 JavaScript 表单验证 JavaScript 验证 API JavaScript 保留关键字 JavaScript this JavaScript let 和 const JavaScript JSON JavaScript void JavaScript 异步编程 JavaScript Promise JavaScript 代码规范 JS 函数 JavaScript 函数定义 JavaScript 函数参数 JavaScript 函数调用 JavaScript 闭包 JS 类 JavaScript 类 JavaScript 类继承 JavaScript 静态方法 JS HTML DOM DOM 简介 DOM HTML DOM CSS DOM 事件 DOM EventListener DOM 元素 HTMLCollection 对象 NodeList 对象 JS 高级教程 JavaScript prototype JavaScript Number 对象 JavaScript String JavaScript Date(日期) JavaScript Array(数组) JavaScript Boolean(布尔) JavaScript Math(算数) JavaScript RegExp 对象 JS 浏览器BOM JavaScript Window JavaScript Window Screen JavaScript Window Location JavaScript Window History JavaScript Navigator JavaScript 弹窗 JavaScript 计时事件 JavaScript Cookie JS 库 JavaScript 库 JavaScript 测试 jQuery JavaScript 测试 Prototype JS 实例 JavaScript 实例 JavaScript 对象实例 JavaScript 浏览器对象实例 JavaScript HTML DOM 实例 JavaScript 总结 JS 参考手册

JavaScript RegExp 对象学习笔记

RegExp 对象是 JavaScript 中一个重要的内置对象,用于处理正则表达式。它可以帮助我们在字符串中匹配、搜索和替换特定的字符或模式。在本文中,我们将探索 RegExp 对象的基本语法和方法,以及一些常见的示例。

基本语法

RegExp 对象有两种创建方式:字面量和构造函数。

字面量

使用字面量的形式创建 RegExp 对象时,需要在斜杠之间包含正则表达式模式,并可以附加多个选项(如标志)。

javascriptCopy Code
var regex = /pattern/flags;

例如,以下是一个简单的正则表达式模式,用于匹配字符串中的所有数字:

javascriptCopy Code
var regex = /\d/g;

在此示例中,/\d/g 模式表示匹配字符串中的数字,g 标志表示全局匹配。

构造函数

使用构造函数创建 RegExp 对象时,需要传入一个表示正则表达式模式的字符串,并可以附加多个选项(如标志)。

javascriptCopy Code
var regex = new RegExp('pattern', 'flags');

例如,以下是一个使用构造函数创建 RegExp 对象的示例,用于从字符串中匹配所有以“a”开头的单词:

javascriptCopy Code
var regex = new RegExp('^a\\w*', 'g');

在此示例中,'^a\\w*' 表示以“a”开头的一个或多个单词字符,g 标志表示全局匹配。

常用方法

RegExp 对象有许多有用的方法,以下是其中一些常用的方法。

test()

test() 方法用于检测一个字符串是否匹配某个模式。它返回一个布尔值,指示字符串是否与模式匹配。

javascriptCopy Code
regex.test(str)

例如,以下是一个测试字符串中是否存在数字的示例:

javascriptCopy Code
var regex = /\d/; console.log(regex.test('hello')); // false console.log(regex.test('123')); // true

exec()

exec() 方法用于在字符串中查找模式匹配。它返回一个数组,其中存储了模式匹配的详细信息。

javascriptCopy Code
regex.exec(str)

例如,以下是一个查找字符串中所有的数字的示例:

javascriptCopy Code
var regex = /\d/g; var str = 'I have 2 cats and 3 dogs.'; var result; while ((result = regex.exec(str)) !== null) { console.log('Found ' + result[0] + ' at index ' + result.index); }

输出:

Copy Code
Found 2 at index 7 Found 3 at index 17

示例

以下是一些常见的 RegExp 示例。

匹配邮箱地址

javascriptCopy Code
var regex = /^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,}$/; console.log(regex.test('example@gmail.com')); // true

匹配 URL

javascriptCopy Code
var regex = /^(http:\/\/|https:\/\/)?([\w.]+)(\/[\w-\/]*)*(\?[\w=&]*)?$/; console.log(regex.test('https://www.example.com/page?a=1')); // true

去除字符串中的 HTML 标签

javascriptCopy Code
var regex = /<\/?[^>]+>/g; var str = '<div><p>hello</p></div>'; console.log(str.replace(regex, '')); // hello

以上便是 JavaScript RegExp 对象的学习笔记。