正则表达式 /g

正则表达式 /g

正则表达式是一种用来匹配字符串模式的工具,它可以在字符串中搜索、替换和提取目标子字符串。在JavaScript中,正则表达式是由RegExp对象表示的。

常见的正则表达式类型有:限定符、转义字符、字符类和分组构造。

限定符

限定符用来控制匹配出现的次数,常见的限定符有:

  • * 匹配前面的字符出现0次或多次。
  • + 匹配前面的字符出现1次或多次。
  • ? 匹配前面的字符出现0次或1次。
  • {n} 匹配前面的字符恰好出现n次。
  • {n,} 匹配前面的字符出现n次或更多次。
  • {n,m} 匹配前面的字符出现n到m次。

示例代码:

const str = 'hello world, hello regex.';

// 匹配hello出现1次或多次
console.log(str.match(/hello+/)); // ["hello"]
console.log(str.match(/hello{1,}/)); // ["hello"]

// 匹配hello出现0次或1次
console.log(str.match(/hello?/)); // ["hello"]
console.log(str.match(/hello{0,1}/)); // ["hello"]

转义字符

转义字符用来匹配特殊字符,例如\,^,$,*,+,?,.等。

示例代码:

const str = 'hello *';

// 匹配*
console.log(str.match(/\*/)); // ["*"]

字符类

字符类用来匹配一组字符中的任意一个字符。常见的字符类有:

  • [abc] 匹配a、b或c中的任意一个字符。
  • [^abc] 匹配不在a、b或c中的任意一个字符。
  • [a-z] 匹配a到z中的任意一个字符。
  • [^a-z] 匹配不在a到z中的任意一个字符。
  • [0-9] 匹配数字0到9中的任意一个字符。
  • [^0-9] 匹配不是数字0到9中的任意一个字符。

示例代码:

const str = 'hello world,';

// 匹配所有小写字母
console.log(str.match(/[a-z]/g)); // ["h", "e", "l", "l", "o", "w", "o", "r", "l", "d"]

// 匹配所有非小写字母
console.log(str.match(/[^a-z]/g)); // [" ", " ", ","]

分组构造

分组构造可以理解为是将多个字符作为一个整体进行匹配。常见的分组构造有:

  • () 将括号内的多个字符作为一个整体进行匹配。
  • | 表示匹配|左边或右边的字符。

示例代码:

const str = 'hello world, hello regex.';

// 匹配hello或hi
console.log(str.match(/hello|hi/)); // ["hello"]

// 匹配hello world或hello regex
console.log(str.match(/hello (world|regex)/)); // ["hello world", "world"]

结论

以上就是正则表达式的基本知识点,它在前端开发中的应用非常广泛,例如表单校验、输入框自动提示、字符串去重等。掌握好正则表达式,能够大大提高工作效率和代码质量。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程