Python PIP

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)

Çalıştırma Örneği

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)

Çalıştırma Örneği

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)

Çalıştırma Örneği

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())

Çalıştırma Örneği

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)

Çalıştırma Örneği

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)

Çalıştırma Örneği

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)

Çalıştırma Örneği

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)

Çalıştırma Örneği

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)

Çalıştırma Örneği

Match nesnesi

Match nesnesi, arama ve sonuç bilgilerini içeren bir nesnedir.

Açıklama:Eşleşme yoksa döndürülecek değer NoneMatch 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

Çalıştırma Örneği

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())

Çalıştırma Örneği

Örnek

Girilen fonksiyona stringi yazdır.

import re
str = "China is a great country"
x = re.search(r"\bC\w+", str)
print(x.string)

Çalıştırma Örneği

Ö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())

Çalıştırma Örneği

Açıklama:Eşleşme yoksa döndürülecek değer NoneMatch nesnesi yerine.