如何在 JavaScript RegExp 中进行不区分大小写的匹配?


在本教程中,我们将学习如何在 JavaScript RegExp 中进行不区分大小写的匹配。

正则表达式可以通过两种方式声明:

  • 使用正则表达式字面量,它以斜杠开头和结尾,模式位于两者之间。
  • 调用 RegExp 对象构造函数,它在参数中采用模式和标志来创建正则表达式。

用户可以使用以下语法创建正则表达式。

语法

//Using a regular expression literal
const regex = /tutorial/i
//Using RegExp constructor
const regex2 = new RegExp('tutorial', 'i')

在上述语法中,创建正则表达式以匹配单词“tutorial”,修饰符“i”表示它可以匹配包含这些字符的任何子字符串,而不管其大小写(“TuToRial”、“Tutorial”等)。

使用 String match() 方法

match() 方法是 JavaScript 中 String 对象的一部分。它用于将字符串与 RegExp 或正则表达式进行匹配。

用户可以按照以下语法使用 match() 方法在 JavaScript RegExp 中执行不区分大小写的匹配。

语法

text.match(regex)

在上述语法中,“text”是要使用正则表达式检查的字符串。“regex”是正则表达式模式。

参数

  • regex − 它是正则表达式或将转换为正则表达式的字符串。

返回类型

  • 返回所有匹配项的数组,如果未找到匹配项则返回 null。

示例

在下面给出的示例中,我们使用了 match() 方法来执行不区分大小写的匹配。我们点击按钮检查 match 方法的结果并输出它。

<html> <body> <h4>Performming Case Insensitive Matching with RegExp using <i> match() </i> method</h4> <button onclick="check()">Check</button> <p>Original Text: Welcome to Tutorialspoint</p> <p>Text To Match: tutorial </p> <p id="output"></p> <script> const text='Welcome to Tutorialspoint' const regex=/tutorial/i function check(){ //Using the match method let result=text.match(regex) document.getElementById('output').innerHTML='Mached Text: '+result } </script> </body> </html>

上述输出显示 match() 方法返回匹配的子字符串“Tutorial”。

使用 String search() 方法

search() 方法是 JavaScript 中 String 对象的一部分。它用于搜索字符串的子字符串与 RegExp 或正则表达式。

用户可以按照以下语法使用 search() 方法在 JavaScript RegExp 中执行不区分大小写的匹配。

语法

text.search(regex)

在上述语法中,“text”是字符串,“regex”是正则表达式模式。

参数

  • regex − 它是正则表达式或将转换为正则表达式的字符串。

返回类型

  • 返回第一个匹配项的位置,如果未找到匹配项则返回 -1。

示例

在下面给出的示例中,我们使用了 search() 方法,并在点击按钮时检查 search() 方法的结果并输出它。

<html> <body> <h4>Performming Case Insensitive Matching with RegExp using <i> search() </i> method.</h4> <p>Text: Welcome to Tutorialspoint</p> <p>Text to Match: tutorial</p> <button onclick="check()">Check</button> <p id="output"></p> <p><b>Note:</b>The search() method returns the position of first match</p> <script> const text='Welcome to Tutorialspoint' const regex=/tutorial/i function check(){ //Using search method let result=text.search(regex) document.getElementById('output').innerHTML='Result: '+result } </script> </body </html>

在上述输出中,用户可以看到 search() 方法返回子字符串“Tutorial”的起始位置。

使用 RegExp test() 方法

test() 方法是 JavaScript 中 RegExp 对象的一部分。它用于测试字符串与 RegExp 或正则表达式。

用户可以按照以下语法使用 test() 方法在 JavaScript RegExp 中执行不区分大小写的匹配。

语法

regex.test(text)

在上述语法中,“text”是要使用正则表达式检查的字符串。“regex”是正则表达式模式。

参数

  • Text/string − 它是需要测试的文本或字符串。

返回类型

  • 如果未找到匹配项则返回 false,否则返回 true。

示例

在下面给出的示例中,我们使用了 test() 方法。

<html> <body> <p>Performming Case Insensitive Matching with JavaScript RegExp using <i> test() </i> method</p> <p>Text: Welcome to Tutorialspoint</p> <p>Text to Match: tutorial</p> <button onclick="check()">Check</button> <p id="output"></p> <p><b>Note:</b> The test() method returns true if there is a match, else returns false.</p> <script> const text = 'Welcome to Tutorialspoint' const regex = /tutorial/i function check() { //Using the test method let result = regex.test(text) document.getElementById('output').innerHTML = 'Result: ' + result } </script> </body> </html>

在上述输出中,用户可以看到 test() 方法返回 true,因为文本中存在“Tutorial”子字符串。

使用 RegExp exec() 方法

exec() 方法是 JavaScript 中 RegExp 对象的一部分。它用于将字符串与 RegExp 或正则表达式进行匹配。

用户可以按照以下语法使用 exec() 方法在 JavaScript RegExp 中执行不区分大小写的匹配。

语法

regex.exec(text)

在上述语法中,“text”是字符串,“regex”是正则表达式模式。

参数

  • Text/string − 它是需要匹配的文本或字符串。

返回类型

  • 返回所有匹配项的数组,如果未找到匹配项则返回 null。

示例

在下面给出的示例中,我们使用了 exec() 方法。

<html> <body> <p>Performming Case Insensitive Matching with JavaScript RegExp using <i> exec() </i> method</p> <button onclick="check()">Check</button> <p>Text: Welcome to Tutorialspoint</p> <p id="output"></p> <script> const text='Welcome to Tutorialspoint' const regex=/tutorial/i function check(){ //Using the exec method let result=regex.exec(text) document.getElementById('output').innerHTML='Result: '+result } </script> </body> </html>

上述输出显示 exec() 方法返回匹配的子字符串“Tutorial”。

在本教程中,我们讨论了四种使用 RegExp 执行不区分大小写匹配的方法。前两种方法是字符串 match() 和 search() 方法。另外两种方法是 RegExp test() 和 exec() 方法。

更新于:2022年9月15日

3K+ 次浏览

启动您的 职业生涯

通过完成课程获得认证

开始学习
广告