Yanıtlar:
Normal PCRE tarzı normal ifade çeşitlerini varsayarsak:
Eğer bir bunu kontrol etmek istiyorsanız tek tam kelime , bu kadar \bTest\b
arzu ve programlama dili için sınırlayıcı eğer durum duyarsızlığı için uygun bayraklarıyla,. \b
"kelime sınırını", yani bir kelimenin başlangıcı veya bitişi olarak kabul edilebilecek karakterler arasındaki bir noktayı temsil eder. Örneğin, sözcükleri ayırmak için boşluklar kullanıldığından, boşluğun her iki yanında bir sözcük sınırı olacaktır.
Kelimenin bir parçası olarak kontrol etmek istiyorsanız , sadece Test
büyük / küçük harf duyarlılığı için uygun bayraklarla. Genellikle, özel "alt dize" yöntemlerinin bu durumda daha hızlı olma eğiliminde olduğunu unutmayın, çünkü bu, normal ifadeyi ayrıştırmanın ek yükünü ortadan kaldırır.
Sadece deseninizi sabitlemeyin:
/Test/
Yukarıdaki normal ifade, içinde bir yerde bulunan "Test" değişmez dizesini kontrol edecektir.
Birkaç yıl geciktim ama neden bu olmasın?
[Tt][Ee][Ss][Tt]
[Aa]
Her harf için bir kalıp oluşturmanız gerekir ve oldukça hızlı bir şekilde çirkinleşir.
\b
bir" kelime sınırını ", yani iki kelimeyi ayıran bir şeyi (örneğin bir boşluk) temsil eder."\b
boşlukla eşleşmiyor; karakterler arasında (veya çoğu durumda bir satırın başında veya sonunda) eşleşen bir iddiadır .