3 回答
TA贡献1796条经验 获得超7个赞
使用正向后视来显式匹配地址中的数字、句点和它与数字之间的文本。
const string = `1. Last, First 123 Main St buncha
buncha buncha
2. Lasta, Firsta 234 Lane St etc etc`;
let regex = /(?<=^\d+\.\D*)\d+/gm;
console.log(string.match(regex));
TA贡献1810条经验 获得超4个赞
像这样的东西
const source =
`1. Last, First 123 Main St buncha
buncha buncha
2. Lasta, Firsta 234 Lane St etc etc`;
const result = source.match(/(?<=(\d+\..+))\d+/gm);
console.log(result);
TA贡献1877条经验 获得超1个赞
您还可以使用捕获组
^\d+\.\D*(\d+)
解释
^
字符串的开始\d+\.
匹配 1+ 个数字和.
\D*
匹配 0+ 除数字以外的任何字符(\d+)
捕获第 1 组,匹配 1+ 个数字
const regex = /^\d+\.\D*(\d+)/gm;
const str = `1. Last, First 123 Main St buncha
buncha buncha
2. Lasta, Firsta 234 Lane St etc etc`;
let res = Array.from(str.matchAll(regex), m => m[1]);
console.log(res);
添加回答
举报