Регулярное выражение для сопоставления номеров независимо от разделителей - PullRequest
0 голосов
/ 14 февраля 2019

Мне нужно регулярное выражение для соответствия следующему:

Любые цифры от 6 до 16 внутри текста, даже если они не являются последовательными.

Например:

  1. abc123sadas456 должно соответствовать 123sadas456
  2. 123 $ 3123asbaasd4 должно соответствовать 123 $ 3123asbaasd4
  3. 1234as2 не должно совпадать (минимум 6 цифр)
  4. 12345678asd должно совпадать 12345678

Спасибо

Ответы [ 2 ]

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

Я нашел решение позже.

\d([a-zA-Z.\_\\+\-*\.\%$]*\d){5,15}

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

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

Это помогает?Python.

import re
list =["abc123sadas456","123$3123asbaasd4","1234as2", 12345678]

for line in list:
    nr = len(re.sub(r"[\D]", '', str(line)))
    if (nr >=6 and nr < 17):
        print("MATCH:", line)
    else:
        print("NO MATCH:", line)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...