📅  最后修改于: 2023-12-03 15:31:44.547000             🧑  作者: Mango
在 JavaScript 中,我们可以使用正则表达式来查找字符串中的所有匹配项。下面是一些例子。
const regex = /\d+/g;
const str = 'Hello 123 world 456!';
let match;
while ((match = regex.exec(str)) !== null) {
console.log(`Found ${match[0]} at position ${match.index}`);
}
在上面的示例中,我们创建了一个 RegExp 对象,通过 /\d+/g
正则表达式来匹配一个或多个数字,并将这个 RegExp 对象赋值给变量 regex
。然后我们定义了一个字符串 str
:'Hello 123 world 456!'
,并在其上执行 regex.exec(str)
方法,返回一个数组,其中第一个元素是找到的匹配项,其余元素(如果有)是捕获组的匹配内容。如果找不到匹配项,exec
方法将返回 null
。
我们可以通过这个返回的数组来循环输出所有匹配项和它们的位置。
const regex = /\d+/g;
const str = 'Hello 123 world 456!';
const matches = str.match(regex);
console.log(matches); // Array [ "123", "456" ]
在上面的示例中,我们使用 String 对象的 match
方法来查找字符串中的所有匹配项。与 exec
方法一样,我们使用了 /\d+/g
正则表达式来匹配一个或多个数字,并将其作为参数传递给 match
方法。match
方法将返回一个数组,其中包含所有匹配项。如果没有找到匹配项,则返回 null
。
const regex = /\d+/g;
const str = 'Hello 123 world 456!';
const newStr = str.replace(regex, '#');
console.log(newStr); // Hello # world #
在上面的示例中,我们使用了 String 对象的 replace
方法来替换字符串中的所有匹配项。我们使用了 /\d+/g
正则表达式来匹配一个或多个数字,并将其作为第一个参数传递给 replace
方法。第二个参数是我们要用来替换匹配项的字符串。在这个例子中,我们使用了 #
字符串来替换每个匹配项。最后,replace
方法将返回一个新的字符串。
无论你选择哪种方法,都可以轻松地查找字符串中的所有匹配项,使你的代码更加灵活和可维护。