я задал этот вопрос, прежде чем и теперь я изменить его, потому что я нашел несколько строк, которые не соответствуют формату я дал раньше ...Я хотел бы, чтобы извлечь слова из «:» сократить
вот пример линий:
data = "09:55:04.125 mta Messages I Doc O:SERVER (NVS:SMTP/[email protected]) R:NVS:FAXG3.I0.0101 mid:6393"
data2= "09:55:05.045 mta Messages I Doc O:SERVER (NVS:SMTP/[email protected]) R:ADMIN (NVS:SMTP.0/[email protected]) mid:6397"
на первый я сопрягали что между слэшем и двумя точками, но я заметил, что есть некоторые линии, как первый, где тип «FAXG3. I0.0101 "не следует косой чертой
вот регулярное выражение я использую:
exp = result = re.findall(r'[\w\.]+(?=:*)',data) # type S & D
результат я хочу 'SMTP', 'FAXG3.I0.0101' для первой строки и 'SMTP', 'SMTP .0 'для второго. Может кто-то помочь в исправлении моего регулярного выражения, чтобы получить это?
Кажется, ваше регулярное выражение не совсем соответствует названию вашего вопроса. Вы проверяете, есть ли 0 или более ':' ** после ** вашего совпадения, а не раньше ... – Loamhoof