📜  正则表达式 ts - TypeScript (1)

📅  最后修改于: 2023-12-03 14:55:53.877000             🧑  作者: Mango

正则表达式 ts - TypeScript

正则表达式是一种用于匹配文本的模式。TypeScript 支持使用这些模式进行字符串操作、验证和提取想要的文本信息。

创建正则表达式

在 TypeScript 中,可以使用字面量语法或构造函数语法来创建一个正则表达式对象。

字面量语法:
let regEx = /pattern/modifiers;

其中,pattern 表示要匹配的文本模式,modifiers 是用于设置匹配规则的标志。

构造函数语法:
let regEx = new RegExp('pattern', 'modifiers');
修饰符

修饰符是用于调整正则表达式的匹配规则的。

常用的修饰符有:

  • i:忽略大小写
  • g:全局匹配
  • m:多行匹配

可以使用多个修饰符,以逗号隔开。例如:

let regEx = /pattern/igm;
匹配方法

正则表达式有多种方法用于匹配文本。

test()

test() 方法用于检测一个字符串是否匹配某个正则表达式。它返回一个布尔值。

let regEx = /pattern/;
let result = regEx.test('targetString');
exec()

exec() 方法用于在字符串中执行一个正则表达式搜索,并返回包含匹配结果的数组。它返回一个数组或 null。

let regEx = /pattern/;
let result = regEx.exec('targetString');

数组中包含有匹配的文本以及捕获组的信息。

模式

正则表达式的模式用于匹配文本。

字符

在正则表达式中,可以使用字符匹配文本。

例如,字符 a 可以匹配字符 a

字符类

字符类用于匹配一组字符中的任意一个。

例如,字符类 [abc] 可以匹配字符 abc

反义字符类

反义字符类用于匹配不属于指定字符类的任意字符。

例如,字符类 [^abc] 可以匹配除字符 abc 以外的任意字符。

元字符

元字符是一些特殊字符,通常与其他字符一起使用,用于匹配更具体的模式。

常用的元字符有:

  • .:匹配除换行符以外的任意字符
  • ^:匹配字符串的开始位置
  • $:匹配字符串的结束位置
  • *:匹配前一个字符 0 次或多次
  • +:匹配前一个字符 1 次或多次
  • ?:匹配前一个字符 0 次或 1 次
  • {n}:匹配前一个字符恰好 n 次
  • {n,}:匹配前一个字符至少 n 次
  • {n,m}:匹配前一个字符至少 n 次,但不超过 m 次
分组

分组用于将多个字符组合起来进行匹配。

例如,分组 (abc) 可以匹配字符串 abc

或用于匹配多个模式中的任意一个。

例如,或 a|b 可以匹配字符 a 或字符 b

示例
匹配邮件地址
let regEx = /^[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,}$/i;
let result = regEx.test('example@gmail.com');
匹配中文字符
let regEx = /[\u4e00-\u9fa5]/;
let result = regEx.test('中文字符');
总结

正则表达式是一种强大的文本匹配工具,在 TypeScript 中也得到了广泛的应用。程序员可以使用不同的修饰符和模式来创建适合自己的正则表达式,并进行字符串操作、验证和提取文本信息。