JavaScript 如何使用变量进行正则表达式
通过使用变量的值,正则表达式可以构建动态模式,以匹配不同的字符串。在本文中,我们将看到如何将变量与正则表达式结合使用。
连接和插值是在正则表达式中包含变量的两种主要方法。插值需要使用模板字符串将变量直接插入正则表达式模式中,而连接则需要将变量与字符串结合以生成正则表达式模式。
语法:
使用正则表达式字面量然后连接变量
// Initializing an GFG variable
let GFG = "GeeksForGeeks";
// Using Regular expression
const myRegex = `Hello ${GFG}`
方法: JavaScript中使用一个变量在正则表达式中有两种基本方法,分别为连接和插值。
- 连接: 在连接之前,必须正确格式化正则表达式模式,并适当转义任何特殊字符。要转义特殊字符,可以使用字符串转义序列,例如用于字面反斜杠或用于空格字符。
- 插值(模板文字方法): 使用插值,将变量仅通过模板文字的$语法插入模式中。
使用连接:
- 匹配包含变量字母字符串的单词。
JavaScript
let GFG = 'geeks';
let regex = new RegExp('^[a-z]+' + GFG + '[a-z]+$');
console.log(regex.test('heygeekshello'));
console.log(regex.test('geekshello'));
输出结果:
true
false
- 匹配包含电话号码的数字:
Javascript
let pinCode = '121';
let regex = new RegExp('^\\(' + pinCode
+ '\\)\\s\\d{3}-\\d{4}$');
console.log(regex.test('(121) 123-4567'));
console.log(regex.test('(123) 123-4567'));
输出:
true
false
使用插值(模板字面量):
- 匹配包含一个变量字符串的词:
Javascript
let GFG = 'geeks';
let regex = new RegExp(`^[a-z]+{GFG}[a-z]+`);
console.log(regex.test('heygeekshello'));
console.log(regex.test('geekshello'));
输出:
true
false
- 匹配包含电话号码的数字:
Javascript
let pinCode = '121';
let regex = new RegExp(`^\\({pinCode}\\)\\s\\d{3}-\\d{4}`);
console.log(regex.test('(121) 123-4567'));
console.log(regex.test('(123) 123-4567'));
输出:
true
false
结论: 通过使用变量,JavaScript中的正则表达式可以变得更加动态和多样化。根据变量的值,我们可以构建具有可重复使用的模式的正则表达式,可以匹配各种字符串。 在JavaScript中,使用变量的正则表达式有两种方法:字符串连接和模板字面量。