|
1 |
| -# Word boundary: \b |
| 1 | +# Kelime sınırı: \b |
2 | 2 |
|
3 |
| -A word boundary `pattern:\b` is a test, just like `pattern:^` and `pattern:$`. |
| 3 | +Bir kelime sınırı `pattern:\b`, tıpkı `pattern:^` ve `pattern:$` gibi bir testtir. |
4 | 4 |
|
5 |
| -When the regexp engine (program module that implements searching for regexps) comes across `pattern:\b`, it checks that the position in the string is a word boundary. |
| 5 | +Regexp motoru (regexpleri aramak için oluşturulmuş program modülü), `pattern:\b` ile karşılaştığında karakter dizisindeki konumun bir kelime sınırı olup olmadığını kontrol eder. |
6 | 6 |
|
7 |
| -There are three different positions that qualify as word boundaries: |
| 7 | +Sözcük sınırı olarak nitelendirilen üç adet durum vardır: |
8 | 8 |
|
9 |
| -- At string start, if the first string character is a word character `pattern:\w`. |
10 |
| -- Between two characters in the string, where one is a word character `pattern:\w` and the other is not. |
11 |
| -- At string end, if the last string character is a word character `pattern:\w`. |
| 9 | +- Karakter dizisi başlangıcında. Şayet ilk karakter dizisi karakteri bir kelime karakteriyse `pattern:\w`. |
| 10 | +- Karakter dizisinin iki karakterinin arası. Bir tanesi kelime karakteri `pattern:\w` ise ve diğeri değilse. |
| 11 | +- Karakter dizisi sonunda. Eğer son karakter dizisi karakter bir kelime karakteriyse `pattern:\w`. |
12 | 12 |
|
13 |
| -For instance, regexp `pattern:\bJava\b` will be found in `subject:Hello, Java!`, where `subject:Java` is a standalone word, but not in `subject:Hello, JavaScript!`. |
| 13 | +Örneğin, regexp `pattern:\bJava\b` ifadesi `subject:Merhaba, Java!` içerisinde bulunacaktır, burada `subject:Java` bağımsız bir kelimedir. Ancak `subject:Merhaba, JavaScript!` içerisinde bulunmaz. |
14 | 14 |
|
15 | 15 | ```js run
|
16 |
| -alert( "Hello, Java!".match(/\bJava\b/) ); // Java |
17 |
| -alert( "Hello, JavaScript!".match(/\bJava\b/) ); // null |
| 16 | +alert( "Merhaba, Java!".match(/\bJava\b/) ); // Java |
| 17 | +alert( "Merhaba, JavaScript!".match(/\bJava\b/) ); // null |
18 | 18 | ```
|
19 | 19 |
|
20 |
| -In the string `subject:Hello, Java!` following positions correspond to `pattern:\b`: |
| 20 | +`subject:Hello, Java!` karakter dizisinde aşağıdaki pozisyonlar `pattern:\b`'ye karşılık gelir. |
21 | 21 |
|
22 | 22 | 
|
23 | 23 |
|
24 |
| -So, it matches the pattern `pattern:\bHello\b`, because: |
25 | 24 |
|
26 |
| -1. At the beginning of the string matches the first test `pattern:\b`. |
27 |
| -2. Then matches the word `pattern:Hello`. |
28 |
| -3. Then the test `pattern:\b` matches again, as we're between `subject:o` and a space. |
| 25 | +Sonuç olarak `pattern:\Merhaba\b` ifadesiyle eşleşir, çünkü: |
29 | 26 |
|
30 |
| -The pattern `pattern:\bJava\b` would also match. But not `pattern:\bHell\b` (because there's no word boundary after `l`) and not `Java!\b` (because the exclamation sign is not a wordly character `pattern:\w`, so there's no word boundary after it). |
| 27 | +1. Karakter dizisinin başlangıcı ilk `pattern:\b` testi ile eşleşir. |
| 28 | +2. Sonrasında `pattern:Merhaba` kelimesi eşleşir. |
| 29 | +3. Ardından `pattern:\b`, `subject:o` ile bir boşluk arasında bulunduğumuzdan dolayı tekrar eşleşir. |
| 30 | + |
| 31 | +Aynı şekilde `pattern:\bJava\b` şablonu de eşleşecektir. Ancak `pattern:\bMerh\b` eşleşmez, (çünkü `b`'den sonra bir kelime sınırı yoktur), aynı şekilde `Java!\b` da (çünkü ünlem işareti `pattern:\w` ile ifade edilen bir kelime karakteri değildir), dolayısıyla sonrasında bir kelime sınırı yoktur. |
31 | 32 |
|
32 | 33 | ```js run
|
33 |
| -alert( "Hello, Java!".match(/\bHello\b/) ); // Hello |
34 |
| -alert( "Hello, Java!".match(/\bJava\b/) ); // Java |
35 |
| -alert( "Hello, Java!".match(/\bHell\b/) ); // null (no match) |
36 |
| -alert( "Hello, Java!".match(/\bJava!\b/) ); // null (no match) |
| 34 | +alert( "Merhaba, Java!".match(/\bMerhaba\b/) ); // Merhaba |
| 35 | +alert( "Merhaba, Java!".match(/\bJava\b/) ); // Java |
| 36 | +alert( "Merhaba, Java!".match(/\bMerh\b/) ); // null (eşleşme yok) |
| 37 | +alert( "Merhaba, Java!".match(/\bJava!\b/) ); // null (eşleşme yok) |
37 | 38 | ```
|
38 | 39 |
|
39 |
| -We can use `pattern:\b` not only with words, but with digits as well. |
| 40 | +`pattern:\b`'yi yalnızca kelimelerle değil, rakamlarla da kullanabiliriz. |
40 | 41 |
|
41 |
| -For example, the pattern `pattern:\b\d\d\b` looks for standalone 2-digit numbers. In other words, it looks for 2-digit numbers that are surrounded by characters different from `pattern:\w`, such as spaces or punctuation (or text start/end). |
| 42 | +Örnek vermek gerekirse, `pattern:\b\d\d\b` şablonu 2 basamaklı sayılara bakacaktır. Başka bir deyişle, `pattern:\w`'den başka, boşluk veya noktalama işareti olmayan (veya metin başlangıcı/bitişi) karakterlerle çevrili bağımsız 2 basamaklı sayılara bakacaktır. |
42 | 43 |
|
43 | 44 | ```js run
|
44 | 45 | alert( "1 23 456 78".match(/\b\d\d\b/g) ); // 23,78
|
45 | 46 | alert( "12,34,56".match(/\b\d\d\b/g) ); // 12,34,56
|
46 | 47 | ```
|
47 | 48 |
|
48 |
| -```warn header="Word boundary `pattern:\b` doesn't work for non-latin alphabets" |
49 |
| -The word boundary test `pattern:\b` checks that there should be `pattern:\w` on the one side from the position and "not `pattern:\w`" - on the other side. |
| 49 | +```warn header="Word boundary `pattern:\b` Latin alfabesi haricinde çalışmaz" |
| 50 | + |
| 51 | +Kelime sınırı testi `pattern:\b`, bir yanda `pattern:\w`, diğer yanda `pattern:\w` olmamama durumununun söz konusu olduğu pozisyonları kontrol eder. |
50 | 52 |
|
51 |
| -But `pattern:\w` means a latin letter `a-z` (or a digit or an underscore), so the test doesn't work for other characters, e.g. cyrillic letters or hieroglyphs. |
| 53 | +Ancak `pattern:\w`, `a-z` şeklinde bir latin harfi (veya harf veya alt tire) anlamına gelir, sonuç olarak test Kiril veya Hiyeroglif gibi farklı karakterler için çalışmayacaktır. |
52 | 54 | ```
|
0 commit comments