Skip to content

Commit 6c6f909

Browse files
문자 클래스 충돌 해결
1 parent 6057d59 commit 6c6f909

1 file changed

Lines changed: 7 additions & 30 deletions

File tree

  • 9-regular-expressions/02-regexp-character-classes

9-regular-expressions/02-regexp-character-classes/article.md

Lines changed: 7 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,7 @@
88

99
가장 먼저 숫자 클래스부터 알아봅시다. 숫자(digit) 클래스는 `pattern:\d`라고 쓰고 '아무 숫자 하나'에 대응합니다.
1010

11-
<<<<<<< HEAD
1211
앞에서 나온 전화번호 예시에서 첫 번째 숫자를 찾아봅시다.
13-
=======
14-
For instance, let's find the first digit in the phone number:
15-
>>>>>>> upstream/master
1612

1713
```js run
1814
let str = "+7(903)-123-45-67";
@@ -124,11 +120,7 @@ alert( "CS-4".match(regexp) ); // CS-4
124120
alert( "CS 4".match(regexp) ); // CS 4 (공백도 문자예요.)
125121
```
126122

127-
<<<<<<< HEAD
128-
점은 아무 문자에나 일치하지만 '문자의 부재'와 일치하지는 않습니다. 반드시 일치하는 문자가 있어야 합니다.
129-
=======
130-
Please note that a dot means "any character", but not the "absence of a character". There must be a character to match it:
131-
>>>>>>> upstream/master
123+
점은 아무 문자 한 개와 일치하지만 '문자의 부재(없음, 빈자리)'와 일치하지는 않습니다. 반드시 일치하는 문자가 있어야 합니다.
132124

133125
```js run
134126
alert( "CS4".match(/CS.4/) ); // null, 점과 일치하는 문자가 없기 때문에 일치 결과가 없습니다.
@@ -152,17 +144,10 @@ alert( "A\nB".match(/A.B/) ); // null (일치하지 않음)
152144
alert( "A\nB".match(/A.B/s) ); // A\nB (일치!)
153145
```
154146

155-
<<<<<<< HEAD
156-
````warn header="Firefox, IE, Edge에서 지원하지 않음"
157-
<https://caniuse.com/#search=dotall>에서 지원 여부의 최신 상황을 확인해보세요. 이 글을 작성하는 시점에 `pattern:s` 플래그는 Firefox, IE, Edge에서 아직 지원하지 않습니다.
147+
````warn header="IE에서 지원하지 않음"
148+
`pattern:s` 플래그는 IE에서 지원하지 않습니다.
158149
159-
다행히도 어느 브라우저에서나 쓸 수 있는 대안이 있습니다. `pattern:[\s\S]`같은 정규 표현식을 사용해 '모든 문자'와 일치시킬 수 있습니다.
160-
=======
161-
````warn header="Not supported in IE"
162-
The `pattern:s` flag is not supported in IE.
163-
164-
Luckily, there's an alternative, that works everywhere. We can use a regexp like `pattern:[\s\S]` to match "any character" (this pattern will be covered in the article <info:regexp-character-sets-and-ranges>).
165-
>>>>>>> upstream/master
150+
다행히도 어느 브라우저에서나 쓸 수 있는 대안이 있습니다. `pattern:[\s\S]`같은 정규 표현식을 사용하면 '모든 문자'와 일치시킬 수 있습니다. 참고로 자세한 내용은 <info:regexp-character-sets-and-ranges>에서 다룹니다.
166151
167152
```js run
168153
alert( "A\nB".match(/A[\s\S]B/) ); // A\nB (일치!)
@@ -194,11 +179,7 @@ alert( "1 - 5".match(/\d\s-\s\d/) ); // 1 - 5, 이것도 됩니다.
194179
195180
**공백 역시 문자입니다. 다른 문자만큼이나 중요합니다.**
196181
197-
<<<<<<< HEAD
198-
정규 표현식에 공백을 추가하거나 지우면 다르게 작동합니다.
199-
=======
200-
We can't add or remove spaces from a regular expression and expect it to work the same.
201-
>>>>>>> upstream/master
182+
정규 표현식에 공백을 추가하거나 지우고 이전과 같은 동작을 기대하면 안됩니다.
202183
203184
즉, 정규 표현식에서는 모든 문자가 중요합니다. 공백도 마찬가지로요.
204185
````
@@ -217,10 +198,6 @@ We can't add or remove spaces from a regular expression and expect it to work th
217198

218199
하지만 이게 전부가 아닙니다!
219200

220-
<<<<<<< HEAD
221-
자바스크립트에서 문자열에 사용하는 유니코드 인코딩은 문자에 여러 프로퍼티를 제공합니다. 어떤 언어에 속하는 글자인지 또는 글자가 아닌 구두점인지 알려주는 프로퍼티처럼요.
222-
=======
223-
Unicode encoding, used by JavaScript for strings, provides many properties for characters, like: which language the letter belongs to (if it's a letter), is it a punctuation sign, etc.
224-
>>>>>>> upstream/master
201+
자바스크립트에서 문자열에 사용하는 유니코드 인코딩은 문자 관련 여러 프로퍼티를 제공합니다. 어떤 언어에 속하는 문자인지, 이 문자가 구두점인지 알려주는 프로퍼티 등이 제공됩니다.
225202

226-
이런 프로퍼티를 기준으로 문자를 찾을 수도 있습니다. `pattern:u` 플래그를 사용하면 되는데요. 다음 글에서 알아보도록 하죠.
203+
이런 프로퍼티를 사용해 원하는 문자를 찾을 수도 있습니다. `pattern:u` 플래그를 사용하면 되는데, 자세한 내용은 다음 글에서 알아보겠습니다.

0 commit comments

Comments
 (0)