250x250
Recent Posts
Recent Comments
Link
μΌ | μ | ν | μ | λͺ© | κΈ | ν |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- js
- κ³Όμ ν μ€νΈ
- μ΄λΆνμ
- λλκ·Έ μ΄λ²€νΈ
- λΈλ£¨νΈν¬μ€
- λ°±μ€
- icecandidate
- svgνμΌ λ€λ£¨κΈ°
- μκ³ λ¦¬μ¦
- μλ°©ν₯ μ°κ²° 리μ€νΈ
- React
- μ½λ©ν μ€νΈ
- router v6
- μ½λ ν¬λ©§
- λμ κ³νλ²
- DP
- TypeScript
- νλ‘κ·Έλλ¨Έμ€
- μΉ΄μΉ΄μ€
- λΆμ€νΈμ»¨νΌλ°μ€
- JavaScript
- Redux toolkit
- μλ°μ€ν¬λ¦½νΈ
- μΉ΄μΉ΄μ€μ±μ©
- Node.js
- μ΄λ―Έμ§ μμ
- custom hook
- λΆμ€νΈμΊ νμΉλͺ¨λ°μΌ
- 리λμ€ ν΄ν·
- μ½ν
Archives
- Today
- Total
π₯ dev-ruby
[μλ°μ€ν¬λ¦½νΈ] μ κ·ννμ(Regular Expression) νμ€νκ² μκ³ κ°μ ! λ³Έλ¬Έ
javascript
[μλ°μ€ν¬λ¦½νΈ] μ κ·ννμ(Regular Expression) νμ€νκ² μκ³ κ°μ !
ruby_s 2021. 11. 27. 00:25728x90
λ°μν
SMALL
μ κ·ννμμ΄λ?
μ κ· ννμμ λ¬Έμμ΄μ λνλ νΉμ λ¬Έμ μ‘°ν©κ³Ό λμμν€κΈ° μν΄ μ¬μ©λλ ν¨ν΄μ΄λ€.
μλ°μ€ν¬λ¦½νΈμμ μ κ·ννμλ κ°μ²΄λ€.
μ κ·μμ λ§λλ 2κ°μ§ λ°©λ²
1. μ κ·μ 리ν°λ΄ μ¬μ©
let re = /ab+c/;
2. RegExp κ°μ²΄μ μμ±μ ν¨μ μ¬μ©
let re = new RegExp("ab+c");
μ κ·μ 리ν°λ΄μ μ€ν¬λ¦½νΈκ° λΆλ¬μμ§ λ μ»΄νμΌλκ³ , μμ±μ ν¨μλ μ€ν μμ μ μ»΄νμΌ λλ€λ μ°¨μ΄μ μ΄ μλ€.
μ κ·μ ν¨ν΄
1. λ¨μ ν¨ν΄ μ¬μ©
- λ¬Έμμ΄μ μλ κ·Έλλ‘ λμμν€κ³ μ ν λ μ¬μ©λλ€.
- μλ₯Ό λ€μ΄, /abc/ λΌλ ν¨ν΄μ abc λΌλ λ¬Έμ, μμκ° λͺ¨λ λμλμ΄μΌλ§ νλ€.
2. νΉμ λ¬Έμ μ¬μ©
- ν¨ν΄μ νΉμ λ¬Έμλ₯Ό μ¬μ©νμ¬ μ¬λ¬ κ°μ aλ₯Ό μ°Ύκ±°λ μ«μλ§ μ°Ύκ±°λ ν μ μλ€.
μ κ·μ μ¬μ©λ²
/ν¨ν΄/νλκ·Έ
ν¨ν΄ : 맀μΉμν¬ ν¨ν΄
νλκ·Έ : μ΅μ μ΄λΌκ³ 보면 λλ€. νκ°λ§ μ°Ύμμ§ μ¬λ¬ κ° μ°Ύμμ§
1. μ κ·μ λ§€μΉ ν¨ν΄
ν¨ν΄ | μλ―Έ |
a-zA-Z | μμ΄(λμλ¬Έμ) (-μΌλ‘ λ²μ μ§μ κ°λ₯) |
γ±-γ κ°-ν£ | νκΈ (-μΌλ‘ λ²μ μ§μ κ°λ₯) |
0-9 | μ«μ (-μΌλ‘ λ²μ μ§μ κ°λ₯) |
. | λ¨μΌ λ¬Έμμ λμ μλ₯Ό λ€μ΄,/.n/λ "nay, on the tree"μμ 'on'μ λμλμ§λ§, 'nay' μλ λμλμ§ μλλ€. |
\d | μ«μ |
\D | μ«μκ° μλ λ¬Έμ |
\w | μμ΄(λμλ¬Έμ), μ«μ, μΈλλ°(_) -> [A-Za-z0-9_] μ λμΌ |
\W | \wμ λ°λ -> [^A-Za-z0-9_] μ λμΌ |
\s | space 곡백 |
\S | space κ³΅λ°±μ΄ μλ κ² |
\νΉμκΈ°νΈ | νΉμκΈ°νΈ |
2. μ κ·μ κ²μ ν¨ν΄
κΈ°νΈ | μλ―Έ |
\ | λ€μ λΆμ λ¬Έμκ° λ¬Έμ κ·Έλλ‘ ν΄μλμ§ μλλ€. λ€μ λΆμ νΉμλ¬Έμλ νΉμλ¬Έμ κ·Έλλ‘ ν΄μλλ€. μλ₯Ό λ€μ΄, "\*" μ΄λ©΄ *κ° λ»νλ 0κ°μμ μ¬λ¬ κ° λ°λ³΅μ λ»νμ§ μκ³ , "*"λ₯Ό λ»νλ€. |
| | OR |
[] | κ΄νΈμμ λ¬Έμλ€ μ€ νλ |
[^λ¬Έμ] | κ΄νΈμμ λ¬Έμλ₯Ό μ μΈν κ² |
^λ¬Έμμ΄ | μ
λ ₯μ μμ λΆλΆμ λμλλ€. μλ₯Ό λ€μ΄, /^A/ λ "An E" μ 'A'μλ λμλμ§λ§, "an A" μ 'A'μλ λμλμ§ μλλ€. |
λ¬Έμμ΄$ | μ
λ ₯μ λ λΆλΆκ³Ό λμλλ€. μλ₯Ό λ€μ΄, /t$/ λ "eat" κ³Όλ λμλμ§λ§, "eater" μ 't'μλ λμλμ§ μλλ€. |
x|y | 'x' λλ 'y'μ λμλλ€. |
(x) | xμ λμλκ³ κΈ°μ΅νλ€. κ·Έλ£Ή κ²μ λ° λΆλ₯ (matchλ©μλμμ κ·Έλ£Ήλ³λ‘ λ¬Άμ΄μ€) μλ₯Ό λ€μ΄, ν¨ν΄ /(foo) (bar) \1 \2/ μμ '(foo)' μ '(bar)'λ λ¬Έμμ΄"foo bar foo bar"μμ μ²μ λ λ¨μ΄μ λμλκ³ μ΄λ₯Ό κΈ°μ΅νλ€. |
(?: x) | xμ λμλμ§λ§ κΈ°μ΅νμ§ μλλ€. κ·Έλ£Ή κ²μ (λΆλ₯X) |
\b | λ¨μ΄ κ²½κ³μ λμλλ€. μλ₯Ό λ€μ΄, /\bm/λ "moon"μ 'm'μ λμλκ³ , /oo\b/ λ "moon"μ 'oo' λΆλΆμ λμλλ€. |
\B | λ¨μ΄ κ²½κ³κ° μλ λΆλΆμ λμλλ€. |
3. μ κ·μ κ°―μ
κΈ°νΈ | μλ―Έ |
? | 0 λλ 1ν |
* | 0ν μ΄μ |
+ | 1ν μ΄μ |
{n} | nκ° |
{Min,} | μ΅μ Minκ° μ΄μ |
{Min, Max} | μ΅μ Minκ° μ΄μ, μ΅λ Maxκ° μ΄ν |
4. μ κ·μ νλκ·Έ
: νλκ·Έλ λμμ μ¬λ¬κ° μ¬μ©ν μ μλ€. μ) gi, gm λ±
νλκ·Έ | μλ―Έ |
g | Global: λͺ¨λ λ¬Έμ κ²μ (μ΄κ±Έ μ μ°λ©΄ 맀μΉλλ 첫 λ¬Έμλ§ κ²μνλ€.) |
i | Ignore Case: λμλ¬Έμ κ΅¬λΆ μν¨ |
m | Multi line: μ¬λ¬ νμ λ¬Έμμ΄μ λν΄ κ²μ |
* μ΄μΈμ singleline, unicode, sticky μ΅μ λ μλλ°, μ μ°μ§ μλλ€κ³ νλ€.
5. μ κ·μ λ©μλ μ¬μ©
λ©μλ | μλ―Έ |
λ¬Έμμ΄.match(/μ κ·μ/νλκ·Έ) | "λ¬Έμμ΄"μμ "μ κ·μ"μ 맀μΉλλ νλͺ©λ€μ λ°°μ΄λ‘ λ°ν |
λ¬Έμμ΄.replace(/μ κ·μ/, "λ체문μμ΄") | "μ κ·μ"μ 맀μΉλλ νλͺ©μ "λ체문μμ΄"λ‘ λ³ν |
μ κ·μ.test("λ¬Έμμ΄") | "λ¬Έμμ΄"μ΄ "μ κ·μ"κ³Ό 맀μΉλλ©΄ true, μλλ©΄ falseλ°ν |
λ¬Έμμ΄.split(μ κ·μ) | "λ¬Έμμ΄"μ "μ κ·μ"μ 맀μΉλλ νλͺ©μΌλ‘ μͺΌκ°μ΄ λ°°μ΄λ‘ λ°ν |
μ κ·μ.exec("λ¬Έμμ΄") | matchμ μ μ¬ (λ¨, 무쑰건 첫λ²μ§Έ λ§€μΉ κ²°κ³Όλ§ λ°ν) |
곡λΆνμ 곡λΆνμ νλ μ κ·μμ μ λλ‘ μ²μ κ³΅λΆ ..γ
κ·Όλ° λΆλͺ μμ±νλ©΄μ 곡λΆνλλ° μΈμΈκ² λ무 λ§μμ 머리μ λ¨μκ² μλ€
μμ£Ό λ€μ¬λ€ 보μ !
728x90
λ°μν
LIST