Javascript 正则表达式在文本匹配后查找数字组
我尝试了许多正则表达式,但无法获得所需的输出。 我的绳子是Javascript 正则表达式在文本匹配后查找数字组,javascript,python,regex,Javascript,Python,Regex,我尝试了许多正则表达式,但无法获得所需的输出。 我的绳子是 Evalyn J Hobbs女士和Jan K Hir sch先生以及Gale D Bannister女士3611尝试正则表达式:(?:Ms | Mr | Mrs)。*?(\D+,并获得第1组值 另一种在Ms、Ms、Mr.Ms(或Miss.)之后捕捉组中数字的方法可能是: 那会匹配的 单词边界\b以确保它不是较大匹配的一部分,然后是M 一种交替的(?:rs?| s | iss)\.,它将匹配一个变量,后跟一个点 使用否定的[^\d]
Evalyn J Hobbs女士和Jan K Hir sch先生以及Gale D Bannister女士3611
尝试正则表达式:(?:Ms | Mr | Mrs)。*?(\D+
,并获得第1组值
另一种在Ms、Ms、Mr.Ms(或Miss.)之后捕捉组中数字的方法可能是: 那会匹配的
- 单词边界
以确保它不是较大匹配的一部分,然后是M\b
- 一种交替的
,它将匹配一个变量,后跟一个点李>(?:rs?| s | iss)\.
- 使用否定的
[^\d]+
- 最后捕获捕获组中的一个或多个数字
(\d+)
const regex=/\bM(?:rs?| s | iss)\.[^\d]+(\d+)/g;
const str=“Evalyn女士33 J Hobbs和Jan K Hir先生55岁sch先生和Gale D Bannister女士3611”;
while((m=regex.exec(str))!==null){
if(m.index==regex.lastIndex){
regex.lastIndex++;
}
console.log(m[1]);
}
数字是否总是在末尾?如果是这样,`/([\d])*$/应该可以工作。无需重新print(*过滤器(lambda x:x.isdecimal(),s.split())