我是Typescript的新手,正在尝试在我的谷歌云函数中制作一个webhook。
我有一个字符串:C1234567890A460450P10TS1596575969702
我想使用正则表达式从该字符串中提取数字1234567890
。第一个字符C
是固定不变的,数字后的字符A
是可变的,可以是任何其他字母表。
与该数字匹配的正则表达式是(?<=C)(d{10})(?=w)
。
我想知道如何在Typescript中执行这个正则表达式,这样我就可以将数字输入变量(例如:const number = [the number extracted from the string] //value 1234567890
(
编辑1:
根据提供的建议(在发布这个问题之前我已经尝试过了(,以下是我可以从中得到的代码:
const string = request.body.string;
let regxp = new RegExp('(?<=C)(d{10})(?=w)');
const number = regxp.exec(string);
response.send(number);
这给出了一个空白的响应。
有两个问题,您从未将返回的字符串解析为具有parseInt
和(?<=C)
(正向查找(的数字。
其次,可以将正则表达式简化为^Cd{10}
和.splice(1)
,以删除C
。
const string: string = request.body.string;
const matches = s.match(/^Cd{10}/);
let number: number;
if(matches !== null) {
number = parseInt(matches[0].slice(1));
} else {
res.status(400).end(); // Assuming this is express
return;
}
res.send(number); // 1234567890
游乐场