Как использовать регулярное выражение, чтобы найти первое вхождение букв и последующих чисел в строке? - PullRequest
0 голосов
/ 15 февраля 2019

У меня есть разные продукты, их можно представить 4 разными способами.

  1. 1 / ABC123456
  2. ABC123456
  3. ABC123456 / 1
  4. 1 / ABC123456 / 1

Во всех этих случаях я хочу извлечь «ABC» и «123» из названия продукта.Я знаю, что я должен быть в состоянии использовать reg exp для этого, но я не уверен, как построить шаблон.

Спасибо за помощь.

1 Ответ

0 голосов
/ 15 февраля 2019

Можно выполнить поиск группы из 3 букв, за которыми следуют 3 цифры:

import re

tests = ["1/ABC123456", "ABC123456", "ABC123456/1", "1/ABC123456/1"]

for ref in tests:
    print(re.search(r'[A-Za-z]{3}\d{3}', ref).group(0))

Вывод:

ABC123
ABC123
ABC123
ABC123

search ищет первое место, где шаблон соответствует, поэтому вам не нужно беспокоиться о 1/, который может появиться в начале вашей ссылки.

...