Regex
ํน์ ํ ๊ท์น์ ๊ฐ์ง ๋ฌธ์์ด์ ์งํฉ์ ํํ
์ ๊ท ํํ์ ๋ง๋ค๊ธฐ
๋ฆฌํฐ๋ด์ ์ฌ์ฉํ์ฌ ํจํด์ ์ฌ๋์(/)๋ก ๊ฐ์ธ๊ธฐ
RegExp ์์ฑ์๋ฅผ ํธ์ถํ์ฌ ์์ฑํ๊ธฐ
์ ๊ท ํํ์ ํ๋๊ทธ
i (ignore case)
์ ๊ท ํํ์์ ๊ธฐ๋ณธ์ ์ผ๋ก ๋์๋ฌธ์๋ฅผ ๊ตฌ๋ถํ๋ค.
์ด ํ๋๊ทธ๋ฅผ ์ฌ์ฉํ๋ฉด ๋์๋ฌธ์๋ฅผ ๊ตฌ๋ถํ์ง ์๋๋ค.
ex.
/abc/i
๋ABC
์๋ ๋งค์นญ์ด ๋๋ค.
g (global search)
์ ๊ท ํํ์์ ๊ธฐ๋ณธ์ ์ผ๋ก ํ๋์ ๊ฒ์ ๊ฒฐ๊ณผ๋ง ๋ฐํํ๋ค.
์ด ํ๋๊ทธ๋ ์ ๊ท ํํ์์ด ๋ชจ๋ ๊ฒ์ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ๋๋ก ํ๋ค.
m (multi line)
์์๊ณผ ๋์ ๋ํ๋ด๋ ์ต์ปค(^, &)๊ฐ ์ ์ฒด ๋ฌธ์์ด์ ์์๊ณผ ๋์ด ์๋ ์ค์ ์์๊ณผ ๋์ ์ผ์น๋ฉ๋๋ค.
u (unicode)
ํ์ฅ๋ ์ ๋์ฝ๋ ์ด์ค์ผ์ดํ๋ฅผ ์ง์.
์ธ์ํ ์ ์๋ ์ด์ค์ผ์ดํ์ ๋ํด์ ์๋ฌ๋ฅผ ๋ฐ์์ํด
y (sticky)
๋ง์ง๋ง ์ธ๋ฑ์ค ์์น์์๋ง ์ผ์นํ๊ณ ์ ์ญ ํ๋๊ทธ(g)๋ฅผ ๋ฌด์
s (dotall)
์ (.)์ด ์ ์ค์ ํฌํจํ์ฌ ๋ชจ๋ ๋ฌธ์์ ์ผ์นํ๊ฒ ๋จ
๋ฌธ์ ํด๋์ค
ํจํด | ์๋ฏธ | ์ค๋ช | ๋์ผ |
---|---|---|---|
[abc] | abc์ค ์ด๋ ํ๋ | ||
[^abc] | abc๊ฐ ์๋ ๊ฒ | ||
[a-g] | a์ g ์ฌ์ด์ ๋ฌธ์ | ||
. | ์ ์ค(\n \r \u2028 \u2029)์ ์ ์ธํ ๋ชจ๋ ๋ฌธ์ | 'abcabcda'์์ /.a/ -> 'abcabcda' | |
\w | ์์ซ์ ๋ฐ ์ธ๋์ค์ฝ์ด. | 'ab_cd.com'์์ \w -> 'ab_cd$com' |
|
\W | /w๊ฐ ์๋ ๊ฒ. | 'ab_cd.com'์์ \w -> 'ab_cd**$**com' |
|
\d | ์ซ์. | 'apple1234'์์ \d -> 'apple1234' |
|
\D | ์ซ์๊ฐ ์๋ ๊ฒ. | 'apple1234'์์ \d -> 'apple1234' |
|
\s | whitespace | 'one man'์์ \s -> 'oneโ man' |
|
\S | whitespace๊ฐ ์๋ ๊ฒ | 'one man'์์ \S -> 'oneโกman' |
|
์ํ ํญ(horizontal tab) | Tab ํค | ||
\v | ์์ง ํญ(vertical tab) | ||
์บ๋ฆฌ์ง ๋ฆฌํด(carriage return) | ์ ์ค์ ์์ํ๋ ๋ฐ ์ฌ์ฉ๋๋ ์ ์ด ๋ฌธ์ | ||
๋ผ์ธ ํผ๋(linefeed) | ์ปค์๋ฅผ ๋ค์ ์ค๋ก ์ฎ๊ธฐ๋ ๊ฒ | ||
\f | ํผ ํผ๋(form-feed) | ์ ๋ฌธ์ ํ์ด์ง์์ ํ์ํ๋ ๊ฒ | |
\0 | NUL ๋ฌธ์ | ๋ค์ ์ซ์๊ฐ ์ด์ด์ง๋ฉด ์ | |
x|y | ๋ ผ๋ฆฌ ํฉ | "x" ๋๋ "y" |
์ด์์
๋จ์ด ๋๋ ๋ผ์ธ์ ์์๊ณผ ๋์ ๋ํ๋ด๋ ๊ฒฝ๊ณ๋ฅผ ํฌํจ
๋งค์น๊ฐ ๊ฐ๋ฅํจ์ ๋ํ๋ด๋ ๋ช ๊ฐ์ง ํจํด์ ํฌํจ
Boundary-type assertions
๋ฌธ์ | ์๋ฏธ |
---|---|
^ | ์ ๋ ฅ์ ์์๊ณผ ์ผ์น. ๋ฉํฐ ๋ผ์ธ์ด ์ค์ ๋ ๊ฒฝ์ฐ, ์ค ๋ฐ๊ฟ ๋ฐ๋ก ๋ค์๋ ์ผ์น |
$ | ์ ๋ ฅ์ ๋ง์ง๋ง๊ณผ ์ผ์น. ๋ฉํฐ ๋ผ์ธ์ด ์ค์ ๋ ๊ฒฝ์ฐ, ์ค ๋ฐ๊ฟ ๋ฐ๋ก ์ด์ ์๋ ์ผ์น |
\b | ๋จ์ด ๊ฒฝ๊ณ์ ์ผ์น. ๋ค์ ๋ค๋ฅธ ๋จ์ด๊ฐ ์ค์ง ์๊ฑฐ๋, ์์ ๋ค๋ฅธ ๋จ์ด๊ฐ ์ค์ง ์๋ ์์น |
\B | ๋จ์ด๊ฐ ์๋ ๊ฒฝ๊ณ์ ์ผ์น. ์ด์ ๋ฌธ์์ ๋ค์ ๋ฌธ์๊ฐ ๊ฐ์ ์ ํ์ธ ์์น |
other assertions
๋ฌธ์ | ์๋ฏธ |
---|---|
x(?=y) | Lookahead: "x" ๋ค์ "y"๊ฐ ์ค๋ ๊ฒฝ์ฐ์๋ง "x"์ ์ผ์น |
x(?!y) | Negative lookahead: "x" ๋ค์ 'y'๊ฐ ์ค์ง ์๋ ๊ฒฝ์ฐ์๋ง "x"์ ์ผ์น |
(?<=y)x | Lookbehind: "x" ์์ "y"๊ฐ ์ค๋ ๊ฒฝ์ฐ์๋ง "x"์ ์ผ์น |
(?<!y)x | Negative lookbehind: "x" ์์ "y"๊ฐ ์ค์ง ์๋ ๊ฒฝ์ฐ์๋ง "x"์ ์ผ์น |
๊ทธ๋ฃน
๊ธ๋ถ ์บก์ฒ๋ง: ์ฌ๋ฌ ํจํด์ ๋ฌถ์ด ๊ทธ๋ฃนํํ๊ณ ํ์ ๋ฌธ์์ด์ ๊ธฐ์ต
์ญ์ฐธ์กฐ: ๋์ผํ ์ ๊ท์์์ ์ด์ ์ ์บก์ณ๋ ๊ทธ๋ฃน์ ์ฐธ์กฐํ๋ ๊ฒ
๊ทธ๋ฃน ์บก์ฒ๋ง์ ์ฑ๋ฅ์ ์ ํ์ํค๋ฏ๋ก ํ์ํ ๊ฒฝ์ฐ์๋ง ์ฌ์ฉ
๋ฌธ์ | ์๋ฏธ |
---|---|
| Capturing group: x์ ์ผ์นํ๊ณ ์ผ์นํ ๊ฒ์ ๊ธฐ์ต |
| Named capturing group: ์ผ์นํ ๊ฒ์ |
| Non-capturing group: "x"์ ์ผ์นํ์ง๋ง, ์ผ์น ํญ๋ชฉ์ ๊ธฐ์ตํ์ง๋ ์๋๋ค. |
์ญ์ฐธ์กฐ (n์ ์์ ์ ์). ์ ๊ท์์ n๋ฒ์งธ ๊ดํธ์ ๋งค์นญํ๋ ํ์ ๋ฌธ์์ด์ ๋ํ ์ญ์ฐธ์กฐ | |
| Named capture group์ ๋ํ ์ญ์ฐธ์กฐ |
์๋์
๋ฌธ์๋ ํํ์์ ์ผ์น ๊ฐ์๋ฅผ ํํ
๋ฌธ์ | ์๋ฏธ |
---|---|
x* | "x"๋ฅผ 0ํ ์ด์ ์ผ์น |
x+ | "x"๋ฅผ 1ํ ์ด์ ์ผ์น |
x? | "x"๋ฅผ 0ํ ๋๋ 1ํ ์ผ์น |
x{n} | "x"์ "n"ํ ๋ฐ์๊ณผ ์ผ์น (n์ ์์ ์ ์) |
x{n,} | "x"์ "n"ํ ์ด์ ๋ฐ์๊ณผ ์ผ์น (n์ ์์ ์ ์) |
x{n,m} | "x"์ "n"ํ ์ด์ "m"ํ ์ดํ ๋ฐ์๊ณผ ์ผ์น (n,m์ ์์ ์ ์, 0 โค n < m) |
x**? | ๊ธฐ๋ณธ์ ์ผ๋ก ์๋์๋ "greedy" -> ๊ฐ๋ฅํ ๋ง์ ๋ฌธ์์ด๊ณผ ์ผ์น์ํค๋ ค ํจ
์๋์ ๋ค์ |
์์
์ซ์๋ง์ผ๋ก ์ด๋ฃจ์ด์ ธ ์๋์ง
์ซ์๋ก ์์ํ์ฌ(
^\d
) ๋ฐ๋ณตํ๊ณ (+) ๋ง์ง๋ง์ ๋๋ฌ($)
์๋ฌธ, ์ซ์, .์ผ๋ก ์ด๋ฃจ์ด์ ธ ์๋์ง
์์ด๋ ๊ฒ์ฌ
4 ๊ธ์ ์ด์ 12๊ธ์ ์ดํ์ ์๋ฌธ ์ซ์ ํฌํจ
์ ํ๋ฒํธ ๊ฒ์ฌ
์ ์ ์ ํ๋ฒํธ: ์ง์ญ ๋ฒํธ(2,3) + ๊ตญ๋ฒ(3) + ์ ํ๋ฒํธ(4)
๋ฌด์ ์ ํ๋ฒํธ: ํต์ ์ฌ ์๋ณ๋ฒํธ(3,4) + ์ ํ ๋ฒํธ(8)
์ด๋ฉ์ผ ๊ฒ์ฌ
์ฐํธ๋ฒํธ ๊ฒ์ฌ
5์๋ฆฌ ์ซ์
URL ๊ฒ์ฌ
์ ์ฒด URL ๋๋ ํ๋กํ ์ฝ์ ์๋ตํ URL
๋ ์ง ๊ฒ์ฌ
YYYY-MM-DD ํ์ ๋ ์ง ๋ฐ์ดํฐ ๊ฒ์ฌ
์๊ฐ ๊ฒ์ฌ
hh:mm ํ์ ์๊ฐ ๋ฐ์ดํฐ ๊ฒ์ฌ
ํน์ ํ์ฅ์๋ฅผ ๊ฐ์ง ํ์ผ์ ์ด๋ฆ ์ถ์ถ
ํน์ ํ์ฅ์๋ฅผ ๊ฐ์ง ํ์ผ ์ด๋ฆ์์ ํ์ฅ์๋ฅผ ์ ์ธํ ์ด๋ฆ๋ง ์ถ์ถ
fewfw.twe.txt.txt.txt -> fewfw.twe.txt.txt.txt
ํ์ผ ์ด๋ฆ์์ ์ด๋ฆ๊ณผ ํ์ฅ์๋ฅผ ๋ฐ๋ก ์ถ์ถ
abc.txt -> ["abc","txt"]
IPv4 ๊ฒ์ฌ
Last updated