Предположим, у нас есть строка с произвольным текстом, большая часть которого состоит из слов, но некоторые записи представляют собой цифры, серийные номера или что-то в этом роде:
Код: Выделить всё
text == """My name is Maximus Awesomeus and my phone number is +13204919920, my sort code is 01-42-42 and my ID is ZUI8012IOI1. Here is a random string that shouldn't be caught: UHAHS-IQOEQI but here is a random string that should be caught IAIUH124242JOOO-1213IH/131IOIHIO"""
При поиске по регулярным выражениям я хотел бы игнорировать все слова и в основном находить все, что может быть серийным номером, номером или чем-то в этом роде. В данном случае это будет:
Код: Выделить всё
+13204919920, 01-42-42, ZUI8012IOI1, IAIUH124242JOOO-1213IH/131IOIHIO
Я придумал такой шаблон:
Но просмотр вперед просматривает всю строку, и, таким образом, улавливаются и чисто алфавитные слова, если в остальной части строки есть хотя бы одно число. Я не знаю, как это обойти: регулярное выражение никогда не было сильной стороной.
Подробнее здесь:
https://stackoverflow.com/questions/790 ... racters-in