birden çok boşluk vardır dizeyle piton regex maç

oy
0

Aşağıdaki dize örneği vardır:

'NAME: test1,  DESCR: AAA 1111S ABC 48 BB (4 BBBB) TEST1 '

i AAA 1111S dışarı çıkarmak için çalışıyorum ama regex yanlış yaptığımı biliyor mücadele ediyorum?

i kullanıyorum regex ben dizede sonra ilk uzay 2 uzay artı kalan karakter dayalı işe düşündüm, çok altındadır.

^.+(AAA\s.+)\s.+$

ancak yalnızca aşağıdaki dışarı çeker:

Aaa 1111S ABC 48 ve yatak (4 BBBB) Test1

Oluştur 20/10/2018 saat 13:57
kaynak kullanıcı
Diğer dillerde...                            


2 cevaplar

oy
0
>>> import re
>>> string = 'NAME: "test1",  DESCR: "AAA 1111S ABC 48 BB (4 BBBB) TEST1
>>> sol = re.findall('\w{3}\s\w{5}',string) 
>>> sol
['AAA 1111S']
Cevap 20/10/2018 saat 14:11
kaynak kullanıcı

oy
0

Senin regex olarak kullanmak (AAA\s.+)nereye .+herhangi bir karakterle eşleşir 1+ kez. Bu dizenin sonuna kadar maç olacak. Aşağıdaki bölüm \s.+"$eşleşirTEST1 "

Bir Pozitif Geriye İlerleme kullanabilirsiniz (?<=")sol çifte alıntı ne olduğunu iddia etmek. Sonra AAA 1+ kez bir boşluk karakteri tarafından takip eşleşen \s+ve 1+ kez değil bir boşluk karakteri \S+.

(?<=")AAA\s+\S+

regex demo

Eğer AAA ilk geçtiği gelen çapa ^ ve maç tutmak istiyorsanız şunu kullanabilirsiniz .+?herhangi bir karakter 1+ olmayan açgözlü kez maç olacak olan.

^.+?(AAA\s+\S+)

regex demo

Cevap 20/10/2018 saat 14:02
kaynak kullanıcı

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more