JavaScript 如何使用变量进行正则表达式

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中,使用变量的正则表达式有两种方法:字符串连接和模板字面量。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程