ES6 解释正则表达式

ES6 解释正则表达式

RegExRegExp 用于表示正则表达式。正则表达式是一种描述字符模式的对象。它允许我们使用定义好的模式来搜索文本中的特定模式。

为什么使用正则表达式?

  • 正则表达式主要用于网页上的表单验证。
  • 检查给定的字符串是否有效。
  • 检查输入的用户名是否只包含字母和数字。
  • 检查输入的电子邮件是否含有有效的语法。
  • 检查密码的语法是否符合给定的要求。

在ES6中有两种定义正则表达式的方式:

字面量表示法: 模式被放置在两个斜杠之间。它在编译时执行。

语法:

let regExp = /pattern/;

构造函数:RegExp() (正则表达式)类函数中,模式以双引号的形式给出。它在运行时动态地获取内存。

语法:

let regExp = new RegExp( pattern, parameters );

设置和范围: 它们由方括号[…]内的多个字符表示。它用于在方括号内的给定值或范围中搜索任何字符。

序号 模式 描述
1. [pattern] 检查模式中的任意一个字符。
2. [^pattern] 检查模式中任意一个不是的字符。

示例 1:

Javascript

var regEx = /[geeks]/gi;
var chk_string = "Geeks for Geeks is "
+ "a learning platform for geeks.";
var match1 = chk_string.match(regEx);
console.log(match1);

输出结果:

['G', 'e', 'e', 'k', 's', 'G', 'e', 'e', 'k', 's', 's', 'e', 'g', 'g', 'e', 'e', 'k', 's']

量词: 量词指定了模式中字符的位置和频率。

S. No. 量词 描述 示例
1. + 匹配至少一个或多个给定范围内的字符的字符串。 /([a – z]+)/
2. * 匹配零个或多个给定范围内的字符的字符串。 /([A – Z]*)/
3. {m} 匹配具有’m’个字符的字符串。 /([0 – 9]{2})/
4. {m1, m2} 匹配具有m1到m2范围内字符的字符串 /([a – z]{1, 4})/
5. {m, } 匹配至少’m’个字符的字符串。 /(pattern{3, })/
6. $ 匹配以给定值或字符结尾的字符串。 /gfg$/
7. ^ 匹配以给定值或字符开始的字符串。 /^gfg/

示例2:

Javascript

var regEx = new RegExp('[geeks]+', 'gi');
var chk_string = "Geeks for Geeks is"
+ " a learning platform for geeks.";
var match1 = chk_string.match(regEx);
console.log(match1);

输出:

['Geeks', 'Geeks', 's', 'e', 'g', 'geeks']

字面字符: 这些字面字符用于表示转义字符。

序号 字面字符 描述
1. \0 它指定字符串中的空字符。
2. \t 它指定字符串中的制表符。
3. \v 它指定字符串中的垂直制表符。
4. \n 它指定字符串中的换行字符。
5. \r 它指定字符串中的回车字符。

示例3:

JavaScript

var regEx = new RegExp('\s');
var chk_string = "Geeks for Geeks is "
+ "a learning platform for geeks.";
var match1 = chk_string.replace(regEx, '\t');
console.log(match1);

输出:

Geek     for Geeks is a learning platform for geeks.

元字符: 这些字符用于指定字符串中的字符类型。

序号 元字符 描述 示例
1. \s 用于指定字符串中的空格。 /welcome to\s gfg/
2. \S 用于指定字符串中的非空格字符。 /welcome\S to gfg/
3. \w 用于指定字符串中的单词字符。 /welcome\w to gfg/
4. \W 用于指定字符串中的非单词字符。 /welcome to\W gfg/
5. \d 用于指定字符串中的十进制数字字符。 /welcome to\d gfg/
6. \D 用于指定字符串中的非十进制数字字符。 /welcome to gfg\D/

示例四:

Javascript

var regEx = /(\d+)\s(\d+)\s(\d+)/;
var chk_string = "0 1 2 3 4 5 6 7 8 9";
console.log("Before:");
console.log(chk_string);
var match1 = chk_string.replace(regEx, 'Geeks for Geeks');
console.log("After:");
console.log(match1);

输出:

Before:
0 1 2 3 4 5 6 7 8 9
After:
Geeks for Geeks 3 4 5 6 7 8 9

我们有一个完整的JavaScript RegExp表达式列表,请查看此JavaScript RegExp Complete Reference文章。

我们有一个JavaScript的Cheat Sheet,其中涵盖了所有重要的JavaScript主题。请查看Javascript Cheat Sheet 一个JavaScript的基本指南.

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程