|
1 | | -# Word boundary: \b |
| 1 | +# Limite de mot : \b |
2 | 2 |
|
3 | | -A word boundary `pattern:\b` is a test, just like `pattern:^` and `pattern:$`. |
| 3 | +Une limite de mot `pattern:\b` teste une position, de la même manière que les ancres `pattern:^` et `pattern:$`. |
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 | +Quand le moteur d'expression régulière (module qui implémente la recherche d'expressions régulières) trouve le motif `pattern:\b`, il vérifie si la position dans la chaine de caractères est une limite de mot. |
6 | 6 |
|
7 | | -There are three different positions that qualify as word boundaries: |
| 7 | +Il y a trois positions possibles pour une limite de mot : |
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 | +- Au début de la chaîne de caractères, si le premier caractère est alphanumérique (ou un trait de soulignement), c'est-à-dire qu'il correspond au motif `pattern:\w`. |
| 10 | +- Entre deux caractères d'une chaîne, si seulement l'un des caractères correspond au motif `pattern:\w`, (alphanumérique ou trait de soulignement). |
| 11 | +- À la fin de la chaîne de caractères, si le dernier caractère correspond au motif `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 | +Par exemple l'expression régulière `pattern:\bJava\b` sera trouvé dans `subject:Hello, Java!`, où `subject:Java` est un mot isolé, mais pas dans `subject:Hello, JavaScript!`. |
14 | 14 |
|
15 | 15 | ```js run |
16 | 16 | alert( "Hello, Java!".match(/\bJava\b/) ); // Java |
17 | 17 | alert( "Hello, JavaScript!".match(/\bJava\b/) ); // null |
18 | 18 | ``` |
19 | 19 |
|
20 | | -In the string `subject:Hello, Java!` following positions correspond to `pattern:\b`: |
| 20 | +Dans la chaîne `subject:Hello, Java!` les positions suivantes correspondent au motif `pattern:\b`: |
21 | 21 |
|
22 | 22 |  |
23 | 23 |
|
24 | | -So, it matches the pattern `pattern:\bHello\b`, because: |
| 24 | +Cette chaîne passe le test du motif `pattern:\bHello\b`, car : |
25 | 25 |
|
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 comma. |
| 26 | +1. Le début de la chaîne passe le premier test `pattern:\b`. |
| 27 | +2. Puis trouve le mot `pattern:Hello`. |
| 28 | +3. Enfin le test `pattern:\b` est encore valide, comme nous sommes entre `subject:o` et une virgule. |
29 | 29 |
|
30 | | -So the pattern `pattern:\bHello\b` would 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). |
| 30 | +Donc le motif `pattern:\bHello\b` sera trouvé, mais pas `pattern:\bHell\b` (car il n'y a pas de limite de mot après `l`) ni `Java!\b` (car le point d'exclamation ne correspond pas au motif `pattern:\w`, il n'est donc pas suivi par une limite de mot). |
31 | 31 |
|
32 | 32 | ```js run |
33 | 33 | alert( "Hello, Java!".match(/\bHello\b/) ); // Hello |
34 | 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) |
| 35 | +alert( "Hello, Java!".match(/\bHell\b/) ); // null (aucune correspondance) |
| 36 | +alert( "Hello, Java!".match(/\bJava!\b/) ); // null (aucune correspondance) |
37 | 37 | ``` |
38 | 38 |
|
39 | | -We can use `pattern:\b` not only with words, but with digits as well. |
| 39 | +La limite de mot `pattern:\b` ne s'utilise pas uniquement pour des mots, mais aussi pour les nombres. |
40 | 40 |
|
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). |
| 41 | +Par exemple, le motif `pattern:\b\d\d\b` recherche un nombre isolé à deux chiffres. C'est-à-dire, qu'il cherche un nombre à deux chiffres entouré par des caractères qui ne correspondent pas au motif `pattern:\w`, comme des espaces, une ponctuation, un début ou une fin de chaîne. |
42 | 42 |
|
43 | 43 | ```js run |
44 | 44 | alert( "1 23 456 78".match(/\b\d\d\b/g) ); // 23,78 |
45 | 45 | alert( "12,34,56".match(/\b\d\d\b/g) ); // 12,34,56 |
46 | 46 | ``` |
47 | 47 |
|
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. |
| 48 | +```warn header="La limite de mot `pattern:\b` ne fonctionne pas pour des alphabets non latin" |
| 49 | +Le test de limite de mot `pattern:\b` vérifie qu'il doit y avoir `pattern:\w` d'un côté de la position et "not `pattern:\w`" - de l'autre côté. |
50 | 50 |
|
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. |
| 51 | +Comme `pattern:\w` signifie `a-z`(en minuscule ou majuscule), un chiffre ou un trait de soulignement, le test ne fonctionne pas pour d'autres caractères, p. ex. lettre cyrillique ou idéogramme. |
52 | 52 | ``` |
0 commit comments