Saya punya tali

changed the applicant's name from Brian David Vaughn to Brian Hamish Vaughn

Saya akan mengambil nama string setelah kata kunci 'dari' dan 'ke' menggunakan regex. Saya telah mencoba menggunakan pola ini untuk mendapatkan string setelah 'dari':

(?<=from)\s+\S+\s\S+(?:\s\S+){0,1}

Tapi, tidak berhasil mendapatkan dari dua kata kunci, seperti pola ini:

(?<=from|to)\s+\S+\s\S+(?:\s\S+){0,1}

Bagaimana pola yang benar?

1
Mico S 5 Januari 2021, 06:26

2 jawaban

Jawaban Terbaik

Ini bekerja:

import re
s = "changed the applicant's name from Brian David Vaughn to Brian Hamish Vaughn"
matches = re.findall("(?:from|to)\W(.+?)(?=\W[a-z]|$)", s)

Memberi

['Brian David Vaughn', 'Brian Hamish Vaughn']
0
Jarvis 5 Januari 2021, 04:03

Ini harus sangat mudah karena Anda memiliki kata kunci

>>> import re
>>> s1 = "changed the applicant's name from Brian David Vaughn to Brian Hamish Vaughn"
>>> re.findall('(?=.*) from (.*) to (.*)',s1)
[('Brian David Vaughn', 'Brian Hamish Vaughn')]
0
Aaj Kaal 5 Januari 2021, 04:13