Zlog
首页时间轴关于
Zlog

一个探索技术、编程和构建 Web 的个人空间。

© 2026 Zlog

导航

首页时间轴关于

链接

首页/正则表达式

正则表达式

正则表达式常用的基本操作

Z

Zephyr110

2021年4月18日·2 分钟
|
frontendfrontend-javascript

正则表达式常用的基本操作

1.元字符

元字符说明
.匹配除换行符以外的任意字符
\w匹配字母、数字、下划线
\s匹配任意的空白符
\d匹配数字
\b匹配单词的开始或者结束
^匹配字符串的开始
$匹配字符串的结束

2.重复限定符

语法说明
*重复 0 次或更多次
+重复 1 次或更多次
?重复 0 次或 1 次
{n}重复 n 次
{n,}重复 n 次或更多次
{n,m}重复 n 到 m 次

3.模式修正符

  • 不区分大小写 i
  • 全局 g
    可以组合使用,顺序无所谓
js
let str = 'abcDEF123456abcDEF',
	reg_i = /[a-z]+/i,
	reg_g = /[a-zA-Z]+/g,
	reg_ig = /[a-z]+/gi,
	res_i = str.match(reg_i),
	res_g = str.match(reg_g),
	res_ig = str.match(reg_ig);
console.log('res_i:', res_i); //["abcDEF", index: 0, input: "abcDEF123456abcDEF",groups: undefined]
console.log('res_g:', res_g); //["abcDEF", "abcDEF"]
console.log('res_ig', res_ig); //["abcDEF", "abcDEF"]

4.原子表与原子组

  • 原子表 下例中 123456 中任意一个匹配,非全局模式时,匹配到第一个即停止
js
let reg = /[123456]/;
let str = '010123456';
let res = str.match(reg);
console.log(res); // ["1", index: 1, input: "010123456", groups: undefined]
  • 原子组 下例中 12 和 34 作为一个整体去匹配
js
let reg = /(12|34)/g;
let str = '010124563';
let res = str.match(reg);
console.log(res); //  ["12"]

5.匹配中文和标点符号

js
let str = '心肝、宝贝、123、甜蜜饯儿';
let reg = /[^\d\、]\W+/g;
let res = str.match(reg);
console.log(res.join('')); // 心肝、宝贝、甜蜜饯儿
js
let str = '心肝、宝贝、123.、甜蜜饯儿!、abc';
let reg = /\p{sc=Han}/gu;
let res = str.match(reg);
console.log(res.join('')); //心肝宝贝甜蜜饯儿
js
let str = '心肝、宝贝、123.、甜蜜饯儿!、abc';
let punctuation = /\p{P}/gu;
let res = str.match(punctuation);
console.log(res); // ["、", "、", ".", "、", "!", "、"]

标签

frontendfrontend-javascript

评论

相关文章

Facade

外观模式:就是提供一个统一的接口去访问多个子系统的多个不同的接口,为子系统中的一组接口提供统一的高层接口。使得子系统更容易使用,不仅简化类中的接口,而且实现调用者和接口的解耦。

2021年12月26日·2 分钟

Singleton

单例模式:就是在整个运行时域,一个类只有一个实例对象。

2021年12月26日·2 分钟

Function Overloading

函数名相同,函数的参数列表不同(参数个数、参数类型),根据参数的不同之行不同的操作。

2021年12月19日·2 分钟

← 返回文章列表