数字和句点后第一个数字的正则表达式

我有一个包含名称和地址的有序列表,其结构如下:


1. Last, First  123 Main St  buncha 

    buncha buncha


2. Lasta, Firsta 234 Lane St etc etc

所以我需要一个正则表达式来找到紧跟在带句点的数字之后的数字。所以在这种情况下,一个数组包含[123, 234]. 我试过几种模式。我认为最接近的是


/(?![0-9]+\.)[0-9]+/gim; 

不幸的是,这只会返回每个数字,但我认为它在正确的区域。任何帮助,将不胜感激。


qq_遁去的一_1
浏览 125回答 3
3回答

芜湖不芜

使用正向后视来显式匹配地址中的数字、句点和它与数字之间的文本。const string = `1. Last, First&nbsp; 123 Main St&nbsp; buncha&nbsp;&nbsp; &nbsp; buncha buncha2. Lasta, Firsta 234 Lane St etc etc`;let regex = /(?<=^\d+\.\D*)\d+/gm;console.log(string.match(regex));

蝴蝶不菲

像这样的东西const source =&nbsp;`1. Last, First&nbsp; 123 Main St&nbsp; buncha&nbsp;&nbsp; &nbsp; buncha buncha2. Lasta, Firsta 234 Lane St etc etc`;const result = source.match(/(?<=(\d+\..+))\d+/gm);console.log(result);

冉冉说

您还可以使用捕获组^\d+\.\D*(\d+)解释^字符串的开始\d+\.匹配 1+ 个数字和.\D*匹配 0+ 除数字以外的任何字符(\d+)捕获第 1 组,匹配 1+ 个数字正则表达式演示const regex = /^\d+\.\D*(\d+)/gm;const str = `1. Last, First&nbsp; 123 Main St&nbsp; buncha&nbsp; &nbsp; buncha buncha2. Lasta, Firsta 234 Lane St etc etc`;let res = Array.from(str.matchAll(regex), m => m[1]);console.log(res);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript