Совпадение первых 4 символов в строке - PullRequest
0 голосов
/ 08 апреля 2019

Я использую Python и регулярные выражения. Я прочитал файл, используя python, и я хочу удалить некоторые слова / символы из файла. Я использую re.sub(). Это пример того, как выглядят строки:

Proxy BR 1.05s [HTTPS] 200.203.144.2:50262

Мне удалось удалить слова и все специальные символы, оставив, например,

1.20 187.94.217.693128

но я не могу избавиться от первых 4 символов. которые 1.05.

Это мое регулярное выражение:

pattern = "[a-zA-Z\[\],:<>]"

Как я могу получить первые 4 символа для удаления?

Ответы [ 2 ]

1 голос
/ 08 апреля 2019

Используйте якорь (^ представляет начало строки и .{4} любые четыре символа после этого):

import re

re.sub('^.{4}', '', '1.20 187.94.217.693128')

Вывод:

' 187.94.217.693128'
0 голосов
/ 08 апреля 2019

Приведенный ниже код ищет только адрес IPv4 и номер порта во входной строке.Формат для комбинации IP-адреса и номера порта:

цифра {1,3} .digit {1,3} .digit {1,3} .digit {1,3}: цифра{1,5}

import re

with open('myproxy.txt', 'r') as input:
  lines = input.readlines()
  pattern_to_find = re.compile(r'(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}:\d{1,5})')

  for line in lines:
    find_pattern = re.search(pattern_to_find, line)
    if find_pattern:
        print(find_pattern.group())
        # outputs 
        104.248.168.64:3128
        54.81.69.91:3128
        78.60.130.181:30664
        80.120.86.242:46771
        109.74.135.246:45769
        198.50.172.161:1080
        103.250.166.12:47031
        88.255.101.244:8080
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...