📅  最后修改于: 2023-12-03 14:55:53.877000             🧑  作者: Mango
正则表达式是一种用于匹配文本的模式。TypeScript 支持使用这些模式进行字符串操作、验证和提取想要的文本信息。
在 TypeScript 中,可以使用字面量语法或构造函数语法来创建一个正则表达式对象。
let regEx = /pattern/modifiers;
其中,pattern
表示要匹配的文本模式,modifiers
是用于设置匹配规则的标志。
let regEx = new RegExp('pattern', 'modifiers');
修饰符是用于调整正则表达式的匹配规则的。
常用的修饰符有:
i
:忽略大小写g
:全局匹配m
:多行匹配可以使用多个修饰符,以逗号隔开。例如:
let regEx = /pattern/igm;
正则表达式有多种方法用于匹配文本。
test()
方法用于检测一个字符串是否匹配某个正则表达式。它返回一个布尔值。
let regEx = /pattern/;
let result = regEx.test('targetString');
exec()
方法用于在字符串中执行一个正则表达式搜索,并返回包含匹配结果的数组。它返回一个数组或 null。
let regEx = /pattern/;
let result = regEx.exec('targetString');
数组中包含有匹配的文本以及捕获组的信息。
正则表达式的模式用于匹配文本。
在正则表达式中,可以使用字符匹配文本。
例如,字符 a
可以匹配字符 a
。
字符类用于匹配一组字符中的任意一个。
例如,字符类 [abc]
可以匹配字符 a
、b
或 c
。
反义字符类用于匹配不属于指定字符类的任意字符。
例如,字符类 [^abc]
可以匹配除字符 a
、b
和 c
以外的任意字符。
元字符是一些特殊字符,通常与其他字符一起使用,用于匹配更具体的模式。
常用的元字符有:
.
:匹配除换行符以外的任意字符^
:匹配字符串的开始位置$
:匹配字符串的结束位置*
:匹配前一个字符 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 中也得到了广泛的应用。程序员可以使用不同的修饰符和模式来创建适合自己的正则表达式,并进行字符串操作、验证和提取文本信息。