Modül dersleri (2/4)
Kelime sınırları: `\b` `\B`
\b bir kelime sınırı çapasıdır: bir kelime arasındaki konum ile eşleşir
kelime karakteri (\w) ve kelime olmayan bir karakter (\W veya
dize). ^ ve $ gibi, karakter tüketmez.
Pattern: \bgatto\b
Sample: Il gatto e la gattina giocano.
^^^^^gatto yalnızca tam kelime olarak eşleşir: gattina dizisinin içinde
gatto orada değil (son o eksik), ancak eşleşmiyor
gatti ya da son i bir kelime karakteri olduğu için.
\B tam tersidir: Kelime OLMAYAN bir konumla eşleşir
sınır.
"Tüm kelimeleri" bulma
\b'nin en tipik kullanımı "X sözcüğünü yalnızca izole edildiğinde eşleştirin, değil
başka bir kelimenin parçası olarak":
\bif\b matches 'if' but not 'sniff', 'gift', 'lifetime'.Kelime sınırları ve kelime olmayan karakterler
\\b sınırı hiçbir fiziksel karakterle eşleşmiyor; bu bir pozisyon testidir. \\w karakteri ile \\w olmayan karakter (veya metnin başlangıcı/sonu) arasında bir \\b sınırı mevcuttur. \\B olumsuzlaması, geçerli konumun bir sözcük sınırı olmadığını ileri sürer.
Deneyin
'Kedi' kelimesinin tamamının geçtiği her yeri bulun (büyük/küçük harfe duyarlı değil). "Kategori", "birleştirme", "dağılım" ile eşleşmemelidir.
İpucu göster
'Kedi'yi iki \\b: başlangıçtaki sınır VE sondaki sınır arasına sarın.
3 denemeden sonra çözüm mevcut
Alıştırmayı gözden geçirin
Bir tanımlayıcının parçası OLMAYAN her tamsayıyı bulun (örneğin, '42' evet, ancak ne 'var42' ne de '42abc'). Her iki tarafta da `\\b` kullanın.
İpucu göster
\\b\\d+\\b yalnızca 'yalıtılmış' rakam dizileriyle eşleşir. abc42'de 42'den önce 'c' (kelime) bulunur.
3 denemeden sonra çözüm mevcut
Ek zorluk
Find the sequence `cat` only if it starts a longer word, excluding when it appears as a whole word or at the end (e.g. match `catalog` but not `wildcat` or isolated `cat`).
İpucu göster
cat'in başında \\b (kelime sınırı) ve sonunda \\B (sözcük olmayan sınır) kullanın.
3 denemeden sonra çözüm mevcut