TypeScript 中的正则表达式
RegExp
是正则表达式,用于使用 TypeScript 匹配目标字符串中的一组固定字符。
RegExp
对象有许多属性和方法。模式匹配时,每个属性都有不同的选项。
在 TypeScript 中使用正则表达式
Regex 可以通过两种方式在 TypeScript 中实现。其中之一是分配正则表达式文字类型 RegExp
。
const rExp : RegExp = /[A-C]/g;
另一种表达正则表达式的方法是通过 RegExp
构造函数。
const rExp : RegExp = new RegExp("[A-C]", "g");
对于本篇文章的其余部分,将使用常量正则表达式来匹配测试字符串。
在 TypeScript 中使用 test
方法检查目标字符串中是否存在模式
RegExp
的测试方法可用于通过返回 boolean
变量来检查目标字符串中是否存在特定模式或正则表达式。
const targetString : string = "All is well";
// regex to check if 'All' word is present or not.
const rExp : RegExp = /All/;
console.log(rExp.test(targetString));
输出:
true
在 TypeScript 中使用 RegExp
的字符串 match
或 exec
方法在目标字符串中查找匹配项
字符串中的 match
方法或 RegExp
的 exec
方法可以找到目标字符串中与正则表达式对应的匹配项。
这两种方法在查找目标字符串中的第一个匹配项时行为相似。
const targetString : string = "All is well";
const rExp : RegExp = /All/;
console.log(rExp.exec(targetString));
console.log(targetString.match(rExp))
输出:
["All"]
["All"]
这些函数在查找匹配字符串的所有情况或使用全局标志集进行搜索方面有所不同。
const targetString : string = "All is well and Beautiful";
const rExp : RegExp = /[A-C]/g;
console.log(rExp.exec(targetString));
console.log(targetString.match(rExp))
输出:
["A"]
["A", "B"]
但是,exec
函数也可以找到正则表达式对应的目标字符串中的匹配总数。
function getMatches( target : string, rExp : RegExp, matches : Array<RegExpExecArray> = []) {
const matchIfAny = rExp.exec(target);
matchIfAny && matches.push(matchIfAny) && getMatches(target, rExp, matches);
return matches;
}
const rExp : RegExp = /[A-C]/g
const test_string : string = "All is Well and Beautiful";
console.log(getMatches(test_string, rExp, []).map( arr => arr[0]));
输出:
["A", "B"]
在 TypeScript 中的 RegExp
文字表达式中使用标志
正则表达式中的一些常见标志包括忽略案例标志 i
、全局标志 g
和多行标志 m
。
以下代码段演示了如何使用 i
和 m
标志。
const targetString : string = `#1 First line
#2 Second Line
#3 Third liNe`;
// regex to check word is present or not.
const rExp1 : RegExp = /line/g;
const rExp2 : RegExp = /line/gi;
const rExp3 : RegExp = /^#\d/gi;
const rExp4 : RegExp = /^#\d/gim;
console.log(targetString.match(rExp1));
console.log(targetString.match(rExp2));
console.log(targetString.match(rExp3));
console.log(targetString.match(rExp4));
输出:
["line"]
["line", "Line", "liNe"]
["#1"]
["#1", "#2", "#3"]
因此,i
标志捕获了所有出现的 line
,无论大小写如何。
m
标志通常可用于在行的开头和结尾查找模式。
在这个例子中,设置了 m
标志,可以找到所有在行首以数字开头的匹配项。
相关文章
在 TypeScript 中使用 try..catch..finally 处理异常
发布时间:2023/03/19 浏览次数:181 分类:TypeScript
-
本文详细介绍了如何在 TypeScript 中使用 try..catch..finally 进行异常处理,并附有示例。
在 TypeScript 中使用 declare 关键字
发布时间:2023/03/19 浏览次数:97 分类:TypeScript
-
本教程指南通过特定的实现和编码示例深入了解了 TypeScript 中 declare 关键字的用途。
在 TypeScript 中 get 和 set
发布时间:2023/03/19 浏览次数:172 分类:TypeScript
-
本篇文章演示了类的 get 和 set 属性以及如何在 TypeScript 中实现它。
在 TypeScript 中格式化日期和时间
发布时间:2023/03/19 浏览次数:161 分类:TypeScript
-
本教程介绍内置对象 Date() 并讨论在 Typescript 中获取、设置和格式化日期和时间的各种方法。
在 TypeScript 中返回一个 Promise
发布时间:2023/03/19 浏览次数:182 分类:TypeScript
-
本教程讨论如何在 TypeScript 中返回正确的 Promise。这将提供 TypeScript 中 Returns Promise 的完整编码示例,并完整演示每个步骤。
在 TypeScript 中定义函数回调的类型
发布时间:2023/03/19 浏览次数:221 分类:TypeScript
-
本教程说明了在 TypeScript 中为函数回调定义类型的解决方案。为了程序员的方便和方便,实施了不同的编码实践指南。
在 TypeScript 中把 JSON 对象转换为一个类
发布时间:2023/03/19 浏览次数:110 分类:TypeScript
-
本教程演示了如何将 JSON 对象转换为 TypeScript 中的类。
使用 NPM 将 TypeScript 更新到最新版本
发布时间:2023/03/19 浏览次数:130 分类:TypeScript
-
本教程说明了如何使用 npm 更新到最新版本的 TypeScript。这将为如何使用 npm 将 TypeScript 更新到最新版本提供完整的实际示例。
使用 jQuery 和 TypeScript
发布时间:2023/03/19 浏览次数:151 分类:TypeScript
-
本教程提供了使用 jQuery 和 TypeScript 的基本理解和概念。