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.)之后捕捉组中数字的方法可能是:

那会匹配的

  • 单词边界
    \b
    以确保它不是较大匹配的一部分,然后是M
  • 一种交替的
    (?: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())