Metacharacter, düzenli ifadelerde özel bir anlamı olan karakter veya karakterler grubudur. Bu özel karakterler, düzenli ifadelerin yapısına ek özellikler ekler ve daha kapsamlı bir arama işlevselliği sağlar.
Düzenli ifadeler, belirli bir desene uygun olan metinleri bulmak veya değiştirmek için kullanılır. Metacharacterler, düzenli ifade içinde özel işlevler yerine getirirler ve belirli bir örüntüyü tanımlarken kullanılırlar. Örneğin, \"*\" metacharacteri, bir karakter dizisi içinde herhangi bir sayıda karakterin olabileceğini ifade etmek için kullanılır.
Aşağıda, yaygın olarak kullanılan metacharacterlerin bir listesi verilmiştir:
- . (nokta) - Herhangi bir tek karakteri ifade eder.
- * - Önceki karakter veya ifadenin sıfır veya daha fazla sayıda tekrarlanmasını ifade eder.
- + - Önceki karakter veya ifadenin en az bir kez tekrarlanmasını ifade eder.
- ? - Önceki karakter veya ifadenin sıfır veya bir kez tekrarlanmasını ifade eder.
- ^ (tilda) - Cümlenin başlangıcını ifade eder.
- $ - Cümlenin sonunu ifade eder.
- [] - Karakterlerin belirli bir aralığını ifade eder.
- [^] - Belirtilen karakterlerin haricindeki karakterleri ifade eder.
- () - Parantez içinde belirtilen örüntünün bir alt örüntüsüsünü ifade eder.
Örnek kodlar:
1. Alfanumerik karakterleri bulun ve ekrana yazdırın:
import re
text = \"Hello World123\"
result = re.findall(\"\\w\", text)
print(result)
2. Birden çok \"*\"'dan sonraki karakterleri bulun ve ekrana yazdırın:
import re
text = \"Hello ***** World\"
result = re.findall(\"\\*+(.+)\", text)
print(result)
3. Telefon numarasındaki sayıları kontrol edin:
import re
phone_number = \"123-456-7890\"
pattern = re.compile(r'\\d{3}-\\d{3}-\\d{4}')
result = pattern.match(phone_number)
if result:
print(\"Telefon numarası geçerli\")
else:
print(\"Telefon numarası geçersiz\")