ES6 解释正则表达式
RegEx 或 RegExp 用于表示正则表达式。正则表达式是一种描述字符模式的对象。它允许我们使用定义好的模式来搜索文本中的特定模式。
为什么使用正则表达式?
- 正则表达式主要用于网页上的表单验证。
- 检查给定的字符串是否有效。
- 检查输入的用户名是否只包含字母和数字。
- 检查输入的电子邮件是否含有有效的语法。
- 检查密码的语法是否符合给定的要求。
在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的基本指南.
极客教程