|
1 |
| -# Anchors: string start ^ and end $ |
| 1 | +# Çapalar: karakter dizisi (string) başlangıç ^ ve bitiş $ |
2 | 2 |
|
3 |
| -The caret `pattern:^` and dollar `pattern:$` characters have special meaning in a regexp. They are called "anchors". |
| 3 | +Düzeltme `pattern:^` ve dolar `pattern:$` işaretlerinin, düzenli ifade (regexp) için özel anlamları vardır. Bunlar "çapalar" olarak adlandırılır. |
4 | 4 |
|
5 |
| -The caret `pattern:^` matches at the beginning of the text, and the dollar `pattern:$` -- at the end. |
| 5 | +Düzeltme işareti `pattern:^` metnin başlangıcı ile dolar işareti ise `pattern:$` -- metnin sonu ile eşleşir. |
6 | 6 |
|
7 |
| -For instance, let's test if the text starts with `Mary`: |
| 7 | +Örneğin, metnin `Mary` ile başlayıp başlamadığını test edelim: |
8 | 8 |
|
9 | 9 | ```js run
|
10 | 10 | let str1 = "Mary had a little lamb";
|
11 | 11 | alert( /^Mary/.test(str1) ); // true
|
12 | 12 | ```
|
13 | 13 |
|
14 |
| -The pattern `pattern:^Mary` means: "string start and then Mary". |
| 14 | +`pattern:^Mary` kalıbının anlamı: "dizi (string) başlangıcı (^) ve ardından Mary". |
15 | 15 |
|
16 |
| -Similar to this, we can test if the string ends with `snow` using `pattern:snow$`: |
| 16 | +Buna benzer olarak, metnin `snow` ile bitip bitmediğini `pattern:snow$` kullanarak test edebiliriz: |
17 | 17 |
|
18 | 18 | ```js run
|
19 | 19 | let str1 = "it's fleece was white as snow";
|
20 | 20 | alert( /snow$/.test(str1) ); // true
|
21 | 21 | ```
|
22 | 22 |
|
23 |
| -In these particular cases we could use string methods `startsWith/endsWith` instead. Regular expressions should be used for more complex tests. |
24 | 23 |
|
25 |
| -## Testing for a full match |
| 24 | +Bu gibi özel durumlarda (başlangıç ve bitiş), çapaların (^, $) yerine `startsWith/endsWith` string methodlarını kullanabiliriz. Düzenli ifadeler (regexp), karmaşık testler için kullanılmalıdır. |
26 | 25 |
|
27 |
| -Both anchors together `pattern:^...$` are often used to test whether or not a string fully matches the pattern. For instance, to check if the user input is in the right format. |
| 26 | +## Tam eşleşme için test yapmak |
28 | 27 |
|
29 |
| -Let's check whether or not a string is a time in `12:34` format. That is: two digits, then a colon, and then another two digits. |
| 28 | +İki çapanın birlikte kullanımıyla `pattern:^...$`, string ile kalıbın tam olarak eşleşip eşleşmediği kontrol edilir. Örneğin, kullanıcı girişinin doğru biçimde olup olmadığını kontrol edelim. |
30 | 29 |
|
31 |
| -In regular expressions language that's `pattern:\d\d:\d\d`: |
| 30 | +Verilen dizinin (string) `12:34` biçiminde bir zaman olup olmadığını kontrol edelim. Kalıp şu şekilde olmalı: iki basamak, ardından iki nokta üst üste ve iki basamak daha. |
| 31 | + |
| 32 | +Yukarda bahsedilen kalıp, düzenli ifadeler (RegExp) dilinde `pattern:\d\d:\d\d` karşılık gelir: |
32 | 33 |
|
33 | 34 | ```js run
|
34 | 35 | let goodInput = "12:34";
|
35 | 36 | let badInput = "12:345";
|
36 | 37 |
|
37 | 38 | let regexp = /^\d\d:\d\d$/;
|
38 | 39 | alert( regexp.test(goodInput) ); // true
|
39 |
| -alert( regexp.test(badInput) ); // false |
| 40 | +alert( regexp.test(badInput) ); // false, ":" ifadesinden sonra 2 basamak yerine 3 basamak vardır |
40 | 41 | ```
|
41 | 42 |
|
42 |
| -Here the match for `pattern:\d\d:\d\d` must start exactly after the beginning of the text `pattern:^`, and the end `pattern:$` must immediately follow. |
| 43 | +Burada `pattern:\d\d:\d\d` eşleşmesi yapmak için; metnin başlangıcından `pattern:^` hemen sonra `pattern:\d\d:\d\d` konulmalı ve ardından `pattern:$` eklenmelidir. |
43 | 44 |
|
44 |
| -The whole string must be exactly in this format. If there's any deviation or an extra character, the result is `false`. |
| 45 | +Dizi (string) tam olarak bu kalıpta olmalıdır. Herhangi bir sapma ya da fazla bir karakter varsa sonuç `false` olur. |
45 | 46 |
|
46 |
| -Anchors behave differently if flag `pattern:m` is present. We'll see that in the next article. |
| 47 | +Çapalar, `pattern:m` bayrağı kullanıldığında farklı davranır. Bir sonraki bölümde bu konuya değineceğiz. |
47 | 48 |
|
48 |
| -```smart header="Anchors have \"zero width\"" |
49 |
| -Anchors `pattern:^` and `pattern:$` are tests. They have zero width. |
| 49 | +```smart header="Çapalar \"sıfır genişlik\" e sahiptir. Anchors have \"zero width\"" |
| 50 | +`pattern:^` ve `pattern:$` çapaları testlerdir. Genişliği yoktur. |
50 | 51 |
|
51 |
| -In other words, they do not match a character, but rather force the regexp engine to check the condition (text start/end). |
| 52 | +Bir başka deyişle, çapalar herhangi bir karakterle eşleşmezler bunun yerine regexp motorunu, kullanılan kalıp için test etmeye zorlar. |
52 | 53 | ```
|
0 commit comments