Python PIP
- Önceki Sayfa Python RegEx
- Sonraki Sayfa Python Try Except
RegEx veya düzenli ifade, arama kalıbı oluşturmak için kullanılan karakter dizisidir.
RegEx, bir dizesinin belirli arama kalıbını içerip içermediğini kontrol etmek için kullanılır.
RegEx modülü
Python, adlandırılmış re
Dahili paket, dizgileri düzenlemek için kullanılabilir.
İçe Aktarma re
Modülü
import re
Python'daki RegEx
İçe Aktarma re
Modül sonrasında,正则表达式可以使用:
Örnek
"China" ile başlar ve "country" ile sonlanır gibi bir dizgeyi arar:
import re txt = "China is a great country" x = re.search("^China.*country$", txt)
RegEx Fonksiyonları
re
Modül, bir grup fonksiyon sağlar ve bizim için dizgileri eşleştirmek için kullanılır:
Fonksiyon | Açıklama |
---|---|
findall | Tüm eşleşmeleri içeren bir liste döndürür |
search | Dizgide herhangi bir yerde eşleşme varsa, Match nesnesi döndürür |
split | Her eşleşmede dizginin parçalara ayrıldığı listeyi döndürür |
sub | Bir veya daha fazla eşleşeni değiştirmek için dizge kullanın |
Meta karakter
Meta karakterler, özel anlamı olan karakterlerdir:
Karakter | Açıklama | Örnek | TIY |
---|---|---|---|
[] | Bir karakter grubu | "[a-m]" | Deneyin |
\ | Özel dizgeyi gösterir (özel karakterleri de kaçışlamak için kullanılabilir) | "\d" | Deneyin |
. | Herhangi bir karakter (satır sonrası karakterler hariç) | "he..o" | Deneyin |
^ | Başlar | "^hello" | Deneyin |
$ | Sonlanır | "world$" | Deneyin |
* | Sıfır veya daha fazla kez ortaya çıkma | "aix*" | Deneyin |
+ | Bir veya daha fazla kez ortaya çıkma | "aix+" | Deneyin |
{} | Doğru olarak belirlenen çıkış sayısını | "al{2}" | Deneyin |
| | Her ikisi de | "falls|stays" | Deneyin |
() | K捕 ve Gruplama |
Özel dizge
Özel dizge \
Aşağıdaki tabloda belirtilen bir karakterle birlikte sahip özel anlamı olan:
Karakter | Açıklama | Örnek | TIY |
---|---|---|---|
\A | Belirtilen karakter dizginin başında varsa, eşleşen öğeyi döndürür | "\AThe" | Deneyin |
\b | Belirtilen karakterin kelimenin başında veya sonunda olduğu bir eşleşen öğeyi döndürür |
r"\bain" r"ain\b" |
Deneyin Deneyin |
\B | Belirtilen karakterin var olduğu ancak kelimenin başında (veya sonunda) olmadığı bir eşleşen öğeyi döndürür |
r"\Bain" r"ain\B" |
Deneyin Deneyin |
\d | Dizginin 0-9 rakamlarını içeren bir eşleşen öğesini döndürür | "\d" | Deneyin |
\D | Rakam içermeyen dizginin bir eşleşen öğesini döndürür | "\D" | Deneyin |
\s | Boşluk karakteri içeren dizginin bir eşleşen öğesini döndürür | "\s" | Deneyin |
\S | Boşluk karakteri içermeyen dizginin bir eşleşen öğesini döndürür | "\S" | Deneyin |
\w | Dizginin herhangi bir kelime karakteri içeren bir eşleşen öğeyi döndürür A'dan Z'ye olan karakterler, 0'dan 9'a olan rakamlar ve alt çizgi _ karakteri |
"\w" | Deneyin |
\W | Dizginin herhangi bir kelime karakteri içermeyen bir eşleşen öğeyi döndürür | "\W" | Deneyin |
\Z | Belirtilen karakter dizginin sonunda varsa, eşleşen öğeyi döndürür | "Spain\Z" | Deneyin |
Koleksiyon (Set)
Koleksiyon (Set), bir çift parantezle ifade edilir []
içinde, özel anlam taşıyan karakterlerin bir grubu:
Koleksiyon | Açıklama | Deneyin |
---|---|---|
[arn] | Belirtilen karakterlerden biri (a, r veya n) olan bir eşleşmeyi döndürür | Deneyin |
[a-n] | Harf sırası a ve n arasında herhangi bir küçük harf eşleşmesini döndürür | Deneyin |
[^arn] | a, r ve n dışındaki herhangi bir karakterin eşleşmesini döndürür | Deneyin |
[0123] | Belirtilen herhangi bir sayı (0, 1, 2 veya 3) olan eşleşmeleri döndürür | Deneyin |
[0-9] | 0 ile 9 arasında herhangi bir sayının eşleşmesini döndürür | Deneyin |
[0-5][0-9] | 0 ile 9 arasında herhangi bir sayının eşleşmesini döndürür | Deneyin |
[a-zA-Z] | Harf sırası a ve z arasında herhangi bir karakterin eşleşmesini döndürür, küçük veya büyük harf | Deneyin |
[+] | Köşeli parantezler içinde, +, *, ., |, (), $, {} özel anlam taşımaz, bu yüzden [+] şu anlama gelir: Dizideki her + karakterinin eşleşmesini döndürür | Deneyin |
findall() fonksiyonu
findall()
Fonksiyon, bütün eşleşmeleri içeren bir liste döner.
Örnek
Bütün eşleşmeleri liste halinde yazdırın:
import re str = "China is a great country" x = re.findall("a", str) print(x)
Bu liste, bulunmuş olan eşleşmelerin sırasıyla içerir.
Eşleşme bulunmadıysa, boş liste döndürür:
Örnek
Eşleşme bulunmadıysa, boş liste döndürür:
import re str = "China is a great country" x = re.findall("USA", str) print(x)
search() fonksiyonu
search()
Fonksiyon, string içindeki eşleşmeleri arar ve varsa Match nesnesi döner.
Eşleşmeler birden fazla ise, sadece ilkini döndürür:
Örnek
İlk boş karakteri döndürün:
import re str = "China is a great country" x = re.search("\s", str) print("The first white-space character is located in position:", x.start())
Eşleşme bulunmadıysa, döndürebilecek değer: None
:
Örnek
Eşleşmeyi dönmeyen bir arama yapın:
import re str = "China is a great country" x = re.search("USA", str) print(x)
split() fonksiyonu
split()
Fonksiyon, her eşleşmede string'i bölerek bir liste döner:
Örnek
Her boş karakterde bölünür:
import re str = "China is a great country" x = re.split("\s", str) print(x)
Sizin belirlediğiniz maxsplit
Aralık parametresi ile kontrol edin:
Örnek
Sadece ilk出现时拆分字符串:
import re str = "China is a great country" x = re.split("\s", str, 1) print(x)
sub() fonksiyonu
sub()
Fonksiyon, seçtiğiniz metni yerine getirir:
Örnek
Her boş karakteri 9 ile değiştirin:
import re str = "China is a great country" x = re.sub("\s", "9", str) print(x)
Sizin belirlediğiniz count
Değiştirme sayısını kontrol etmek için parametre:
Örnek
İlk iki出现:
import re str = "China is a great country" x = re.sub("\s", "9", str, 2) print(x)
Match nesnesi
Match nesnesi, arama ve sonuç bilgilerini içeren bir nesnedir.
Açıklama:Eşleşme yoksa döndürülecek değer None
Match nesnesi yerine.
Örnek
Arama, Match nesnesi döndürür:
import re str = "China is a great country" x = re.search("a", str) print(x) # Nesneyi yazdırır
Match nesnesi, arama ve sonuç bilgilerine erişmek için kullanılan özellikler ve yöntemler sağlar:
span()
Dönen tuple, eşleşmenin başlangıç ve bitiş konumlarını içerir.string
Girilen fonksiyona stringi döndür.group()
Eşleşen string kısmını döndür.
Örnek
İlk eşleşmenin başlangıç ve bitiş konumlarını yazdır.
Büyük harf "C" ile başlayan her kelimeyi bulan正则表达式
import re str = "China is a great country" x = re.search(r"\bC\w+", str) print(x.span())
Örnek
Girilen fonksiyona stringi yazdır.
import re str = "China is a great country" x = re.search(r"\bC\w+", str) print(x.string)
Örnek
Eşleşen string kısmını yazdır.
Büyük harf "C" ile başlayan her kelimeyi bulan正则表达式
import re str = "China is a great country" x = re.search(r"\bC\w+", str) print(x.group())
Açıklama:Eşleşme yoksa döndürülecek değer None
Match nesnesi yerine.
- Önceki Sayfa Python RegEx
- Sonraki Sayfa Python Try Except