Regex, чтобы найти группу цифр после текстового совпадения [закрыто]

Я пробовал много выражений регулярных выражений, но не смог получить желаемый результат. Моя строка

Ms.Evalyn J Hobbs AND Mr.Jan K Hir sch AND Ms.Gale D Bannister 3611 

Мне нужно извлечь группу цифр, которая приходит после того, как г-н или миссис 3611

javascript,python,regex,

-2

Ответов: 2


1

Попробуйте Regex: (?:Ms|Mr|Mrs).*?(d+)и получите значение Group 1

демонстрация


1

Другой способ захвата цифр в группе после того, как г-жа г-жа (или, может быть, мисс.) Могла бы быть:

M(?:rs?|s|iss).[^d]+(d+)

Это будет соответствовать

  • Границу слов, чтобы убедиться, что она не является частью большего совпадения, а затем M
  • Это чередование, (?:rs?|s|iss).которое будет соответствовать одному из вариантов, за которым следует точка.
  • Сопоставьте не цифру с использованием класса отрицательных символов [^d]+
  • В конце захвата одна или несколько цифр в группе захвата (d+)

const regex = /M(?:rs?|s|iss).[^d]+(d+)/g;
const str = "Ms.Evalyn 33 J Hobbs AND Mr.Jan K Hir 55 years Mr. sch AND Ms.Gale D Bannister 3611";
while ((m = regex.exec(str)) !== null) {
  if (m.index === regex.lastIndex) {
    regex.lastIndex++;
  }
  console.log(m[1]);
}

JavaScript, Python, регулярное выражение,
Похожие вопросы