我们可以使用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' }
*/