使用正则捕获组提取动态文本
#javascript #初学者 #typescript #regex

我们可以使用regex capturing group快速提取动态文本。当我们想从使用相同单词的一堆字符串中提取信息时,这很有用。

const example = 'You have bought 2 tickets'
const regex = /You have bought (?<tickets>\d*) tickets/
const match = example.match(regex);

console.log(match.groups.tickets);
// output: 2

在上面的示例中,我们想从字符串You have bought 2 tickets中提取门票数。我们可以通过将其封闭在斜线之间来定义正则表达模式。

接下来,我们可以使用(?<Name>x)定义命名的捕获组。我们可以在match.groups对象中访问它。

这是我们提取多个文本的示例。

const example = 'You have bought 2 tickets and 5 drinks'
const regex = /You have bought (?<tickets>\d*) tickets and (?<drinks>\d*) drinks/
const match = example.match(regex);

console.log(match.groups);
/*
output: { tickets: '2', drinks: '5' }
*/