Регулярное выражение для обнаружения произвольных буквенно-цифровых символов (с возможными специальными символами между Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Регулярное выражение для обнаружения произвольных буквенно-цифровых символов (с возможными специальными символами между

Сообщение Anonymous »

Предположим, у нас есть строка с произвольным текстом, большая часть которого состоит из слов, но некоторые записи представляют собой цифры, серийные номера или что-то в этом роде:

Код: Выделить всё

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
Я придумал такой шаблон:

Код: Выделить всё

\b(?=.*\d)[A-Za-z0-9._@#/-+]+\b 
Но просмотр вперед просматривает всю строку, и, таким образом, улавливаются и чисто алфавитные слова, если в остальной части строки есть хотя бы одно число. Я не знаю, как это обойти: регулярное выражение никогда не было сильной стороной.

Подробнее здесь: https://stackoverflow.com/questions/790 ... racters-in
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»