Skip to content

Commit 790709f

Browse files
Apply suggestions from code review
Co-authored-by: Mahdi Hashemi <mahdihashemiii939@gmail.com>
1 parent 10a05c4 commit 790709f

2 files changed

Lines changed: 20 additions & 20 deletions

File tree

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
یک رشته خالی تنها منطبق است: شروع می شود و بلافاصله تمام می شود.
1+
یک رشته خالی تنها انطباق است: شروع می شود و بلافاصله تمام می شود.
22

3-
این کار یک بار دیگر نشان می دهد که مجریان کاراکترها نیستند، بلکه آزمایش هستند.
3+
این کار یک بار دیگر نشان می دهد که anchorها کاراکتر نیستند، بلکه آزمایش هستند.
44

5-
رشته `""` خالی است. موتور ابتدا با `^:pattern` (شروع ورودی) مطابقت دارد، بله وجود دارد، و بلافاصله با `$:pattern` انتهایی، آن هم اینجاست. بنابراین یک مسابقه وجود دارد.
5+
رشته `""` خالی است. موتور ابتدا `^:pattern` (شروع ورودی) را تطبیق می‌دهد، بله تطابق دارد، و بلافاصله `$:pattern` انتهایی را، آن هم مطابقت دارد. بنابراین یک انطباق داریم.
Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,51 +1,51 @@
1-
# لنگرها: رشته شروع ^ و پایان $
1+
# anchorها: شروع ^ رشته و پایان $ آن
22

3-
کاراکترهای `pattern:^` و دلار `pattern:$` معنای خاصی در یک regexp دارند. به آنها "لنگر" می گویند.
3+
کاراکترهای `pattern:^` و `pattern:$` معنای خاصی در یک regexp دارند. به آنها "anchor" (به معنی لنگر) می گویند.
44

5-
The caret `pattern:^` matches at the beginning of the text, and the dollar `pattern:$` -- at the end.
6-
`pattern:^` در ابتدای متن و `pattern:$` دلاری -- در پایان متن مطابقت دارد.
5+
`pattern:^` در ابتدای متن و `pattern:$` در پایان متن مطابقت دارد.
76

87
به عنوان مثال، بیایید آزمایش کنیم که آیا متن با `Mary` شروع می شود یا خیر:
98
```js run
109
let str1 = "Mary had a little lamb";
11-
alert( /^Mary/.test(str1) ); // درست
10+
alert( /^Mary/.test(str1) ); // true
1211
```
1312

14-
الگوی `pattern:^Mary` به معنای "شروع رشته و سپس Mary" است.
13+
الگوی `pattern:^Mary` یعنی: "رشته شروع می‌شود و سپس کلمه Mary ظاهر می‌شود".
1514

1615
مشابه این، می‌توانیم با استفاده از `pattern:snow$` آزمایش کنیم که آیا رشته به `snow` ختم می‌شود:
1716

1817
```js run
1918
let str1 = "its fleece was white as snow";
20-
alert( /snow$/.test(str1) ); // درست
19+
alert( /snow$/.test(str1) ); // true
2120
```
2221

23-
در این موارد خاص، می‌توانیم به جای آن از روش‌های رشته‌ای `startsWith/endsWith` استفاده کنیم. برای تست های پیچیده تر باید از عبارات منظم استفاده شود.
22+
در این موارد خاص، می‌توانیم به جای آن از متدهای مختص به رشته‌ها به نام `startsWith/endsWith` استفاده کنیم. برای تست های پیچیده تر باید از عبارات منظم استفاده شود.
2423

25-
## تست برای یک مسابقه کامل
24+
## آزمایش یک انطباق کامل
2625

27-
هر دو لنگر با هم `$...^:pattern` اغلب برای آزمایش اینکه آیا یک رشته کاملاً با الگو مطابقت دارد یا نه استفاده می شود. به عنوان مثال، برای بررسی اینکه آیا ورودی کاربر در قالب مناسب است یا خیر.
26+
هر دو anchor یعنی `$...^:pattern` با هم اغلب برای آزمایش اینکه آیا یک رشته کاملاً با الگو مطابقت دارد یا نه استفاده می شود. به عنوان مثال، برای بررسی اینکه آیا ورودی کاربر در قالب مناسب است یا خیر.
2827

2928
بیایید بررسی کنیم که آیا یک رشته زمان در قالب `12:34` است یا خیر. یعنی: دو رقم، سپس یک دونقطه، و سپس دو رقم دیگر.
3029

31-
در زبان عبارات معمولی `pattern:\d\d:\d\d` است:
30+
در زبان عبارات با قاعده به صورت `pattern:\d\d:\d\d` است:
31+
3232
```js run
3333
let goodInput = "12:34";
3434
let badInput = "12:345";
3535

3636
let regexp = /^\d\d:\d\d$/;
37-
alert( regexp.test(goodInput) ); // درست
38-
alert( regexp.test(badInput) ); // نادرست
37+
alert( regexp.test(goodInput) ); // true
38+
alert( regexp.test(badInput) ); // false
3939
```
4040

41-
در اینجا تطبیق `pattern:\d\d:\d\d` باید دقیقاً بعد از ابتدای متن `^:pattern` شروع شود و انتهای `$:pattern` باید بلافاصله دنبال شود.
41+
در اینجا تطبیق `pattern:\d\d:\d\d` باید دقیقاً بعد از ابتدای متن `^:pattern` شروع شود و انتهای `$:pattern` باید بلافاصله به دنبال آن بیاید.
4242

43-
کل رشته باید دقیقاً در این قالب باشد. اگر انحراف یا یک کاراکتر اضافی وجود داشته باشد، نتیجه `نادرست` است.
43+
کل رشته باید دقیقاً در این قالب باشد. اگر انحراف یا یک کاراکتر اضافی وجود داشته باشد، نتیجه `false` است.
4444

45-
اگر پرچم `pattern:m` وجود داشته باشد، لنگرها رفتار متفاوتی دارند. آن را در مقاله بعدی خواهیم دید.
45+
اگر پرچم `pattern:m` وجود داشته باشد، anchorها رفتار متفاوتی دارند. آن را در مقاله بعدی خواهیم دید.
4646

4747
```smart header="Anchors have \"zero width\""
48-
لنگرهای `^:pattern` و `$:pattern` تست هستند. عرض آنها صفر است.
48+
anchorهای `^:pattern` و `$:pattern` تست هستند. عرض آنها صفر است.
4949
5050
به عبارت دیگر، آنها با یک کاراکتر مطابقت ندارند، بلکه موتور regexp را مجبور می‌کنند تا شرایط را بررسی کند (شروع/پایان متن).
5151
```

0 commit comments

Comments
 (0)