JavaScript 正则表达式 match() 方法178


简介

match() 方法用于在字符串中查找与正则表达式相匹配的子字符串,并返回一个数组,其中包含所有匹配的子字符串。如果未找到匹配项,则返回 null。

语法(regex)

其中:
string:要搜索的字符串。
regex:要匹配的正则表达式。

返回值

一个数组,其中包含所有匹配的子字符串。如果未找到匹配项,则返回 null。

举例const str = "JavaScript 正则表达式";
const regex = /正则表达式/;
const matches = (regex);
(matches); // ["正则表达式"]

正则表达式语法

正则表达式的语法十分丰富,以下是一些基本的语法规则:
[ ]:匹配方括号内的任意一个字符。
( ):将一个子表达式分组。
*:匹配前面的字符零次或多次。
+:匹配前面的字符一次或多次。
?:匹配前面的字符零次或一次。
|:匹配多个选项中的一个。
\:转义字符,用于匹配特殊字符(如句点、括号等)。

示例

以下是一些使用 match() 方法和正则表达式的示例:// 查找以 "J" 开头的所有单词
const str = "JavaScript 正则表达式 Java";
const regex = /^J/;
const matches = (regex);
(matches); // ["JavaScript", "Java"]

// 查找所有数字
const str = "123 Main Street 456";
const regex = /\d+/g;
const matches = (regex);
(matches); // ["123", "456"]

// 查找所有电子邮件地址
const str = "john@ mary@";
const regex = /[a-z0-9]+@[a-z0-9]+\.[a-z]+/;
const matches = (regex);
(matches); // ["john@", "mary@"]

高级用法

分组


分组允许您将正则表达式的不同部分分组,并引用这些组匹配的子字符串。const str = "123 Main Street";
const regex = /(\d+) (\w+) (\w+)/;
const matches = (regex);
(matches[1]); // 123
(matches[2]); // Main
(matches[3]); // Street

标志


标志可以修改正则表达式的行为。以下是常用的标志:
g:全局搜索,匹配所有匹配项。
i:大小写不敏感,忽略大小写。
m:多行匹配,将 ^ 和 $ 视为每一行的开头和结尾。
s:点号匹配任意字符(包括换行符)。
u:Unicode 模式,启用 Unicode 扩展支持。


JavaScript match() 方法是一个强大的工具,可用于在字符串中匹配和提取子字符串。通过理解正则表达式的语法和高级用法,您可以有效地使用 match() 方法来执行各种文本处理任务。

2025-01-19


上一篇:JavaScript 解析 HTML

下一篇:弹出层 JavaScript:实现与用户交互的最佳实践