Питон регулярное выражение FindAll () метод матчей (личные заметки)

Предупреждение: Данная статья является блоггером оригинальной статьи, следовать CC 4.0 BY-SA авторского соглашения, воспроизведенный, пожалуйста , приложите ссылку первоисточника и это утверждение.
Эта ссылка: https://blog.csdn.net/yu_1628060739/article/details/102767158

Используйте FindAll () метод Match

Описание:
       метод FindAll () используется для поиска всех строк , в соответствии с регулярным выражением во всей строке и возвращается в виде списка . Если матч будет успешным. Список содержит совпадающую структуру возвращается, в противном случае она возвращает пустой список.

re.findall(pattern,string,flags)

Здесь Insert Picture Описание
Пример 1:

import re
pattern=r'mr_\w+'
string='MR_SHOP mr_shop'
match=re.findall(pattern,string,re.I)
print(match)

результат

['MR_SHOP', 'mr_shop']

Пример 2:

import re
string='项目名称MR_SHOP mr_shop'
match=re.findall(pattern,string,re.I)
print(match)

результат

['MR_SHOP', 'mr_shop']

Примечание:

import re
pattern=r'[1-9]{1,3}(\.[0-9]{1,3}){3}'
str1='127.0.0.1 192.168.1.66'
match=re.findall(pattern,str1)
print(match)

результат

['.1', '.66']

Если пакет содержит заданный шаблон список строк текста возвращается с пакетными спичками. (Т.е. только соответствовать строке массива в скобках)

pattern=r'(\.[0-9]{1,3}){3}'
str1='127.0.0.1 192.168.1.66' 
match=re.findall(pattern,str1)
print(match)

Результаты:

['.1', '.66']

При этом анализ, шаблон строки (. [0-9] {1,3}) {3} означает.
       Во- первых, [0-9] и \ д имеют значения выражены одинаковые цифры соответствия, {1,3} указывает на матч предыдущего символа по меньшей мере , один раз, до 3 раз. {3} , который соответствует три раза предыдущего символа.
Здесь: соответствие . (Точка) начинают за цифрами ( от 0 до 9 , может быть произвольным) количество и поверхность может быть один или два, до трех. А именно следующие ситуации:
0,05 или 0,66, или .192 и так далее.
        {3} соответствует три раза, т.е. три последовательных этого типа, «127.0.0.1 192.168.1.66» можно увидеть .0.0.1, появилось три раза и три раза подряд .168.1.66 также. Таким образом, результаты: [ '1' '66'].

В противном случае, если пакет соответствует внутренней потребности следующим образом:

Первый письменный:
вся строка шаблона с помощью пару скобок группировки. И возвращает список каждого элемента (кортеж) первого элемента.

import re 
pattern=r'([1-9]{1,3}(\.[0-9]{1,3}){3})'
str1='127.0.0.1 192.168.1.66'
match=re.findall(pattern,str1)
for i in match:
    print(i[0])

Результаты:

127.0.0.1
192.168.1.66

Второй способ:
оригинальная группа в плюс :? Capture поставила группу в не-захвате группу.

import re 
pattern=r'[1-9]{1,3}(?:\.[0-9]{1,3}){3}'
str1='127.0.0.1 192.168.1.66'
match=re.findall(pattern,str1)
print(match)
['127.0.0.1', '192.168.1.66']

Готовые ...

рекомендация

отblog.csdn.net/yu_1628060739/article/details/102767158
рекомендация