- ^:匹配字符串的开头。
- $:匹配字符串的结尾。
- .:匹配任意单个字符,除了换行符。
- *:匹配前面的字符零次或多次。
- +:匹配前面的字符一次或多次。
- ?:匹配前面的字符零次或一次。
- []:匹配方括号中的任意一个字符。
- [^]:匹配不在方括号中的任意一个字符。
- ():分组匹配,可以在后面使用 1、2 等来引用分组。
- | :匹配左右两边任意一个表达式
- {}:表示匹配重复次数,用于指定匹配的字符或子表达式出现的次数。例如,{3}表示匹配前面的字符或子表达式恰好出现3次,{2,5}表示匹配前面的字符或子表达式出现2到5次,{2,}表示匹配前面的字符或子表达式至少出现2次。
TypeScript支持JavaScript中的正则表达式语法,因此我们可以使用JavaScript中的正则表达式来匹配字符串。在TypeScript中,我们可以使用RegExp类来创建正则表达式对象。
let regex = new RegExp('pattern', 'flags');
其中,’pattern‘是我们要匹配的模式,’flags‘是一个可选的标志,用于指定正则表达式的行为。
let regex = new RegExp('\d+');
在上面的示例中,’d+’是一个模式,它匹配一个或多个数字。我们使用双反斜杠来转义正则表达式中的特殊字符。
let regex = /d+/;
在上面的示例中,/d+/是一个正则表达式字面量,它与我们之前创建的RegExp对象是等价的。
一旦我们创建了一个正则表达式对象,我们就可以使用它来匹配字符串。我们可以使用RegExp对象的test()方法来测试一个字符串是否与正则表达式匹配:
let regex = /d+/;
let str = '123';
if (regex.test(str)) {
console.log('Match!');
} else {
console.log('No match.');
}
在上面的示例中,我们使用test()方法来测试字符串‘123’是否与正则表达式/d+/匹配。由于字符串’123′包含数字,因此该测试将返回true,并输出‘Match!’。
我们还可以使用RegExp对象的exec()方法来查找字符串中与正则表达式匹配的子字符串:
let regex = /d+/g;
let str = '123 abc 456 def';
let match;
while ((match = regex.exec(str)) !== null) {
console.log(match[0]);
}
在上面的示例中,我们使用exec()方法来查找字符串中所有与正则表达式/d+/匹配的子字符串。由于我们在正则表达式中使用了’g’标志,因此该方法将查找所有匹配项。在while循环中,我们使用match变量来存储当前匹配项的结果。如果exec()方法返回null,则表示没有更多匹配项。
在上面的示例中,我们使用match[0]来访问匹配项的第一个结果。如果我们的正则表达式中有捕获组,则可以使用match[1]、match[2]等来访问它们的结果。
RegExp 类提供了许多方法来操作正则表达式。
let regex = /hello/gi;
let str = 'Hello World';
console.log(regex.test(str)); // true
let regex = /hello/gi;
let str = 'Hello World';
console.log(regex.exec(str)); // ['Hello']
match() 方法:在字符串中查找匹配的正则表达式,返回一个数组或 null。
let regex = /hello/gi;
let str = 'Hello World';
console.log(str.match(regex)); // ['Hello']
let regex = /hello/gi;
let str = 'Hello World';
console.log(str.replace(regex, 'Hi')); // 'Hi World'
search() 方法:在字符串中查找匹配的正则表达式,返回匹配的位置。
let regex = /hello/gi;
let str = 'Hello World';
console.log(str.search(regex)); // 0
正则表达式的属性:
let regex = /hello/gi;
console.log(regex.source); // 'hello'
let regex = /hello/gi;
console.log(regex.flags); // 'gi'
代码演示:
let regex = /hello/gi;
let str = 'Hello World';
console.log(regex.test(str)); // true
console.log(regex.exec(str)); // ['Hello']
console.log(str.match(regex)); // ['Hello']
console.log(str.replace(regex, 'Hi')); // 'Hi World'
console.log(str.search(regex)); // 0
console.log(regex.source); // 'hello'
console.log(regex.flags); // 'gi'
输出结果:
true
['Hello']
['Hello']
'Hi World'
0
'hello'
'gi'
希望这些信息能够帮助您更好地理解在TypeScript中使用正则表达式的方法。
原文地址:https://blog.csdn.net/zwjapple/article/details/130745030
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_16807.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!