์๋ ๊ทธ ๋ฌธ์๊ฐ ๊ฐ์ง ๋ป์ด ์๋ ํน๋ณํ ์ฉ๋๋ก ์ฌ์ฉํ๋ ๋ฌธ์
๋ฌธ์ ํด๋์ค []
[ ] ์ฌ์ด์ ์๋ ๊ฐ๊ฐ์ ๋ฌธ์๋ค์ ๋ํด ์ ์ด๋ ํ๋๊ฐ ๋งค์น๊ฐ ๋๋๊ฐ?
์ฆ, ์ ๊ท ํํ์์ด [abc]
๋ผ๋ฉด ์ด ํํ์์ ์๋ฏธ๋ โa, b, c ์ค ํ ๊ฐ์ ๋ฌธ์์ ๋งค์นโ๋ฅผ ๋ปํ๋ค.
- โaโ๋ ์ ๊ท์๊ณผ ์ผ์นํ๋ ๋ฌธ์์ธ โaโ๊ฐ ์์ผ๋ฏ๋ก ๋งค์น
- โbeforeโ๋ ์ ๊ท์๊ณผ ์ผ์นํ๋ ๋ฌธ์์ธ โbโ๊ฐ ์์ผ๋ฏ๋ก ๋งค์น
- โdudeโ๋ ์ ๊ท์๊ณผ ์ผ์นํ๋ ๋ฌธ์์ธ a, b, c ์ค ์ด๋ ํ๋๋ ํฌํจํ๊ณ ์์ง ์์ผ๋ฏ๋ก ๋งค์น๋์ง ์์
[ ] ์์ ๋ ๋ฌธ์ ์ฌ์ด์ ํ์ดํ(-)์ ์ฌ์ฉํ๋ฉด ๋ ๋ฌธ์ ์ฌ์ด์ ๋ฒ์(From - To)๋ฅผ ์๋ฏธํ๋ค. ์๋ฅผ ๋ค์ด [a-c]
๋ผ๋ ์ ๊ท ํํ์์ [abc]
์ ๋์ผํ๊ณ [0-5]
๋ [012345]
์ ๋์ผํ๋ค.
[a-zA-Z]
: ์ํ๋ฒณ ๋ชจ๋[0-9]
: ์ซ์
๋ฌธ์ ํด๋์ค([ ]) ์์๋ ์ด๋ค ๋ฌธ์๋ ๋ฉํ ๋ฌธ์๋ ์ฌ์ฉํ ์ ์๋ค. ํ์ง๋ง..
์ฃผ์์ฌํญ
์ฃผ์ํด์ผ ํ ๋ฉํ ๋ฌธ์๊ฐ 1๊ฐ์ง ์๋ค. ๊ทธ๊ฒ์ ๋ฐ๋ก ^์ธ๋ฐ, ๋ฌธ์ ํด๋์ค ์์ ^ ๋ฉํ ๋ฌธ์๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ์๋ ๋ฐ๋(not)๋ผ๋ ์๋ฏธ๋ฅผ ๊ฐ๋๋ค. ์๋ฅผ ๋ค์ด [^0-9]
๋ผ๋ ์ ๊ท ํํ์์ ์ซ์๊ฐ ์๋ ๋ฌธ์๋ง ๋งค์น๋๋ค.
์์ฃผ ์ฌ์ฉํ๋ ๋ฌธ์ ํด๋์ค
|๋ฉํ๋ฌธ์|๋์ผ ํํ์|์ค๋ช
|
|:โ:--------|:----:----------|::----|
|\d|[0-9]
|์ซ์์ ๋งค์น|
|\D|[^0-9]
|์ซ์๊ฐ ์๋ ๊ฒ๊ณผ ๋งค์น|
|\s|[ \t\n\r\f\v]
|whitespace ๋ฌธ์(์คํ์ด์ค, ๊ณต๋ฐฑ, tab)์ ๋งค์น(๋งจ ์์ ๋น ์นธ์ ๊ณต๋ฐฑ๋ฌธ์(space)๋ฅผ ์๋ฏธํ๋ค.)|
|\S|[^ \t\n\r\f\v]
|whitespace ๋ฌธ์๊ฐ ์๋ ๊ฒ๊ณผ ๋งค์น|
|\w|[a-zA-Z0-9_]
|๋ฌธ์+์ซ์(alphanumeric)์ ๋งค์น|
|\W|[^a-za-z0-9_]
|๋ฌธ์+์ซ์(alphanumeric)๊ฐ ์๋๋ฌธ์์ ๋งค์น|
๋๋ฌธ์ ์ฌ์ฉ์ ์๋ฌธ์์ ๋ฐ๋์ด๋ค.
Dot(.)
์ค๋ฐ๊ฟ ๋ฌธ์์ธ \n์ ์ ์ธํ ๋ชจ๋ ๋ฌธ์์ ๋งค์น๋จ์ ์๋ฏธ, ๋จ ํ๋๋ผ๋ ์์ด์ผ ํ๋ค.
์ฌ์ค, re.DOTALL
์ต์
์ ์ฃผ๋ฉด \n ๋ฌธ์์๋ ๋งค์น๋๋ค. ์ผ๋จ ์์ ๋ฅผ ๋ณด๋ฉฐ ์ดํดํด๋ณด์.
|์ ๊ท์|์๋ฏธ|
|:-:------|::----|
|a.b
|โa + ๋ชจ๋ ๋ฌธ์ + bโ|
์ฆ, a์ b๋ผ๋ ๋ฌธ์ ์ฌ์ด์ ์ด๋ค ๋ฌธ์๊ฐ ๋ค์ด๊ฐ๋ ๋ชจ๋ ๋งค์น๋๋ค๋ ์๋ฏธ์ด๋ค. ๋ฌธ์์ด โaabโ, โa0bโ, โabcโ๊ฐ ์ ๊ท์ a.b
์ ์ด๋ป๊ฒ ๋งค์น๋๋์ง ์ดํด๋ณด์.
- โaabโ๋ ๊ฐ์ด๋ฐ ๋ฌธ์ โaโ๊ฐ ๋ชจ๋ ๋ฌธ์๋ฅผ ์๋ฏธํ๋ .๊ณผ ์ผ์นํ๋ฏ๋ก ์ ๊ท์๊ณผ ๋งค์น๋๋ค.
- โa0bโ๋ ๊ฐ์ด๋ฐ ๋ฌธ์ โ0โ๊ฐ ๋ชจ๋ ๋ฌธ์๋ฅผ ์๋ฏธํ๋ .๊ณผ ์ผ์นํ๋ฏ๋ก ์ ๊ท์๊ณผ ๋งค์น๋๋ค.
- โabcโ๋ โaโ๋ฌธ์์ โbโ๋ฌธ์ ์ฌ์ด์ ์ด๋ค ๋ฌธ์๋ผ๋ ํ๋๋ ์์ด์ผ ํ๋ ์ด ์ ๊ท์๊ณผ ์ผ์นํ์ง ์์ผ๋ฏ๋ก ๋งค์น๋์ง ์๋๋ค.
๋ง์ง๋ง์ด ํท๊ฐ๋ฆฐ๋ค. ์กฐ์ฌํ๋๋ก ํ์. ๊ทธ๋ฐ๋ฐ ๋ง์ฝ โ.โ ๋ฌธ์ ์์ฒด์ ๋งค์นญ์ด ๋๊ธธ ์ํ๋ค๋ฉด ์ด๋ป๊ฒ ํด์ผํ ๊น?
|์ ๊ท์|์๋ฏธ|
|:-:------|::----|
|a[.]b
|โa + Dot(.)๋ฌธ์ + bโ|
์ ๊ท์ a[.]b๋ โa.bโ ๋ฌธ์์ด๊ณผ ๋งค์น๋๊ณ , โa0bโ ๋ฌธ์์ด๊ณผ๋ ๋งค์น๋์ง ์๋๋ค. ํผ๋ํ์ง ๋ง์.
๋ฐ๋ณต(*)
ํน์ ๋ฌธ์๊ฐ 0๋ถํฐ ๋ฌดํ๋๊น์ง์ ๋ฐ๋ณต์ ๋งค์นญํ๋ค.
|์ ๊ท์|๋ฌธ์์ด|Match ์ฌ๋ถ|์ค๋ช
|
|:-:------|:-:------|:------:----|::----|
|ca*t
|ct|Yes|โaโ๊ฐ 0๋ฒ ๋ฐ๋ณต๋์ด ๋งค์น|
|ca*t
|cat|Yes|โaโ๊ฐ 0๋ฒ ์ด์ ๋ฐ๋ณต๋์ด ๋งค์น (1๋ฒ ๋ฐ๋ณต)|
|ca*t
|caaat|Yes|โaโ๊ฐ 0๋ฒ ์ด์ ๋ฐ๋ณต๋์ด ๋งค์น (3๋ฒ ๋ฐ๋ณต)|
๋ฐ๋ณต(+)
ํน์ ๋ฌธ์๊ฐ 1๋ถํฐ ๋ฌดํ๋๊น์ง์ ๋ฐ๋ณต์ ๋งค์นญํ๋ค.
|์ ๊ท์|๋ฌธ์์ด|Match ์ฌ๋ถ|์ค๋ช
|
|:-:------|:-:------|:------:----|::----|
|ca+t
|ct|No|โaโ๊ฐ 0๋ฒ ๋ฐ๋ณต๋์ด ๋งค์น๋์ง ์์|
|ca+t
|cat|Yes|โaโ๊ฐ 0๋ฒ ์ด์ ๋ฐ๋ณต๋์ด ๋งค์น (1๋ฒ ๋ฐ๋ณต)|
|ca+t
|caaat|Yes|โaโ๊ฐ 0๋ฒ ์ด์ ๋ฐ๋ณต๋์ด ๋งค์น (3๋ฒ ๋ฐ๋ณต)|
๋ฐ๋ณต({n,m})
ํน์ ๋ฌธ์๊ฐ n์ด์ m์ดํ ๋ฐ๋ณต ํ์์ธ ๊ฒฝ์ฐ ๋งค์นญํ๋ค.
{ } ๋ฉํ ๋ฌธ์๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฐ๋ณต ํ์๋ฅผ ๊ณ ์ ํ ์ ์๋ค. {m, n} ์ ๊ท์์ ์ฌ์ฉํ๋ฉด ๋ฐ๋ณต ํ์๊ฐ m๋ถํฐ n๊น์ง ๋งค์นํ ์ ์๋ค. ๋ํ m ๋๋ n์ ์๋ตํ ์๋ ์๋ค. ๋ง์ฝ {3,}์ฒ๋ผ ์ฌ์ฉํ๋ฉด ๋ฐ๋ณต ํ์๊ฐ 3 ์ด์์ธ ๊ฒฝ์ฐ์ด๊ณ {,3}์ฒ๋ผ ์ฌ์ฉํ๋ฉด ๋ฐ๋ณต ํ์๊ฐ 3 ์ดํ๋ฅผ ์๋ฏธํ๋ค. ์๋ต๋ m์ 0๊ณผ ๋์ผํ๋ฉฐ, ์๋ต๋ n์ ๋ฌดํ๋(2์ต ๊ฐ ๋ฏธ๋ง)์ ์๋ฏธ๋ฅผ ๊ฐ๋๋ค.
{1,}์ +์ ๋์ผํ๊ณ , {0,}์ *์ ๋์ผํ๋ค. ์ด ๋ถ๋ถ์ ์ธ๊ธํ๋ ์ด์ ๋, ๊ตณ์ด ์ ๋ฐ ํํ๋ณด๋ค๋ +
, *
์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ง๊ด์ ์ด๊ธฐ ๋๋ฌธ์ด๋ค.
{n}
๋ฐ๋์ n๋ฒ ๋ฐ๋ณต.
|์ ๊ท์|๋ฌธ์์ด|Match ์ฌ๋ถ|์ค๋ช
|
|:-:------|:-:------|:------:----|::----|
|ca{2}t
|cat|No|โaโ๊ฐ 1๋ฒ๋ง ๋ฐ๋ณต๋์ด ๋งค์น๋์ง ์์|
|ca{2}t
|caat|Yes|โaโ๊ฐ 2๋ฒ ๋ฐ๋ณต๋์ด ๋งค์น|
{n, m}
n~m ๋ฒ ๋ฐ๋ณต.
|์ ๊ท์|๋ฌธ์์ด|Match ์ฌ๋ถ|์ค๋ช
|
|:-:------|:-:------|:------:----|::----|
|ca{2,5}t
|cat|No|โaโ๊ฐ 1๋ฒ๋ง ๋ฐ๋ณต๋์ด ๋งค์น๋์ง ์์|
|ca{2,5}t
|caat|Yes|โaโ๊ฐ 2๋ฒ ๋ฐ๋ณต๋์ด ๋งค์น|
|ca{2,5}t
|caaaaat|Yes|โaโ๊ฐ 5๋ฒ ๋ฐ๋ณต๋์ด ๋งค์น|
?
์์ด๋ ๋๊ณ ์์ด๋ ๋๋ค.
|์ ๊ท์|๋ฌธ์์ด|Match ์ฌ๋ถ|์ค๋ช
|
|:-:------|:-:------|:------:----|::----|
|ab?c
|abc|Yes|โbโ๊ฐ 1๋ฒ ์ฌ์ฉ๋์ด ๋งค์น|
|ab?c
|ac|Yes|โbโ๊ฐ 0๋ฒ ์ฌ์ฉ๋์ด ๋งค์น|
๋ฌธ์์ด ์๋น
์ ๊ท์์ ๊ณต๋ถํ๋ค ๋ณด๋ฉด Assertion
์ด๋ผ๋ ๋จ์ด๋ฅผ ์์ฃผ ๋ณด๊ฒ๋๋ค. Assertion
์ด๋ผ๋ ๋จ์ด๋ ๊ฒ์ฌ, ๊ฒ์ฆ, ํ์ธ ์ด๋ผ๋ ์๋ฏธ๋ฅผ ๊ฐ๊ณ ์๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก ์ด๋ค ๊ฒ์ ๊ฒ์ฌํ๊ฒ ๋ค๋ ์๋ฏธ๋ก ๋ง์ด ์ฌ์ฉํ๋ค. ๊ทธ๋ฐ๋ฐ Zero-width๋ ๋ฌด์์ธ๊ฐ? ๋๋น๊ฐ ์๋ค๋ ์๋ฏธ์ธ๋ฐ ์ ์ด๋ฐ ์ถ์์ ์ธ ๋จ์ด๋ฅผ ์ผ๋์ง๋ ์์ง๋ ๋ชจ๋ฅด๊ฒ ๋ค. ํ์ง๋ง ๋ง์ ๋ผ์ ๋ง์ถฐ์ ์ฐ์์ ์ฝ๊ฒ ํด๋ณด๋๋ก ํ์.
์ด ๊ฐ๋ ์ ์๊ธฐ ์ ์ ์ฐ๋ฆฌ๊ฐ ์์์ผ ํ ๊ฒ์ด ์๋ค. ์ง๊ธ ์ด ๊ธ์ ์์ ๋ฉํ ๋ฌธ์์ ๋ฐ๋ก ์ด ์ด์ ๊ฐ ์ฌ๊ธฐ์ ์๋ค. ์์์ ๋ฐฐ์ด ๋ฉํ๋ฌธ์๋ฅผ ์ฌ์ฉํ๊ฒ ๋๋ฉด ์ฐ๋ฆฌ๋ ๋ฌธ์์ด์ ์๋นํ๋ค. ์ด๊ฒ ๋ฌด์จ ์๋ฆฌ์ผ๊น.
์ด ๊ต์ฅํ ์ถ์์ ์ธ ๊ฐ๋
์ ์์๋ฅผ ๋ค์ด ํ๋ฒ๋ง ์๊ฐํ๋ฉด ๊ต์ฅํ ์ฝ๊ฒ ์ดํด๊ฐ ๊ฐ๋ฅํ๋ค. ์๋ฅผ ๋ค์ด ์๋ฒ์ง๊ฐ๋ฐฉ์๋ค์ด๊ฐ๋ค
๋ผ๋ ๋ฌธ์์ด์ด ์๋ค๊ณ ํด๋ณด์. ๋ด๊ฐ ๊ถ๊ธํ ์ ๋ณด๋ ๊ฐ๋ฐฉ
์ ์ฐพ๊ณ ๋ฐฉ์
๋ฅผ ์ฐพ๊ณ ์ถ๋ค. ์ด๋ฌํ ๋ฌธ์ ์ ๋ํด [๊ฐ๋ฐฉ]
์ด๋ ๊ฒ ์ ๊ท์์ ์์ฑํ๊ณ ๊ฒ์์ ์งํํ์ ๋, ์ ๊ท์ ์์ง์ด ์ด๋ค ๋ฐฉ์์ผ๋ก ๊ตฌ๋ํ๋์ง๋ฅผ ๋ฐ๋ผ๊ฐ ๋ณด์.
์๋ฒ์ง
๋ถ๋ถ ๊น์ง๋ ๋งค์น๊ฐ ๋์ง ์์ผ๋ฏ๋ก ๊ทธ๋ฅ ์ง๋๊ฐ๋ค.๊ฐ๋ฐฉ
์ ํ์ธํ๊ณ ๋ ๋งค์น๋์์ผ๋ฏ๋ก ๋ฌธ์์ด์ ์๋นํด ๋ฒ๋ฆฐ๋ค. ์ฆ ์์ ๋ฒ๋ฆฐ๋ค์ ๊ฐ์ ๊ฐ๋ ์ผ๋ก ๋ณด๋ ๊ฒ์ด๋ค.- ์๋น๋ ๋ฌธ์์ด์ ์ณ๋ค๋ ์๋ณด๊ณ ๊ทธ ๋ค์ ๋ฌธ์์ด์ธ
์๋ค์ด๊ฐ๋ค
๋ผ๋ ๋ฌธ์์ด์ ๋ํด๊ฐ๋ฐฉ
๋ฌธ์์ด์ ์ฐพ๋๋ค. ๊ฐ๋ฐฉ
์ ์ฐพ๋ ์ ๊ทํํ์์ ๋๋๋ค.๋ฐฉ์
๋ฅผ ์ฐพ๋ ์ ๊ทํํ์์ด ์์๋๊ณ , ์ฐพ์ง ๋ชปํ ์ํ๋ก ๋๋๋ค.
์ด ์์๋ฅผ ๋ณด๋ค๋ณด๋ฉด, ์๋น๋ผ๋ ๊ฒ์ด ์ด๋ค ์๋ฏธ๋ก ์ฌ์ฉ๋์๋์ง ์ดํดํ ์ ์๋ค. ์ฆ, ๋งค์น๊ฐ ๋๋ ๊ฒฝ์ฐ ํด๋น ๋ถ๋ถ์ด ์์ด์ง๊ฒ ๋๋ค. ์ ๋ง ์๋น๋ผ๋ ๋จ์ด์ ๊ฑธ๋ง๋ ํ๋์ด๋ค.
Zero-width Assertion
๊ทธ๋ ๋ค๋ฉด, ๋๋น๊ฐ ์๋ ํ์ธ ์ด๋ผ๋ ์๋ฏธ์ Zero-width Assertion
์ ๋ฌด์์ผ๊น. ์์์ ๊ฐ๋ฐฉ
์ด๋ผ๋ ๋จ์ด๋ 2์ ๋๋น๋ฅผ ๊ฐ์ง๋ค๊ณ ๋ณผ ์ ์๋ค. ๊ทธ๋ฆฌ๊ณ ๋งค์นญ์ด ๋์์ ๋, ์ด 2์ ๋๋น์ ํด๋นํ๋ ๋ฌธ์์ด์ด ์๋น๋๋ค. ์ด๋ฌํ ๊ด์ ์์ ๋ณด์์ ๋, 0์ ๋๋น๋ฅผ ๊ฐ์ง๋ค๊ณ ํจ์, ๊ฒ์ฆ์ ์งํํ๋๋ฐ ์์ด ์๋น๊ฐ ๋๋ ๋ฌธ์์ด์ด ์๋ค๋ผ๋ ์๋ฏธ๋ก ์๋ฟ๋๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก ์ด๋ฌํ ํด์์ด ๋ง์ผ๋ฉฐ, Zero-width Assertion
๋ ๊ฒ์์ ์งํํ๋๋ฐ ์์ด ์์์ ์์๋ณธ ๋ฌธ์์ด ์๋น๊ฐ ์๋ ๋ฐฉ๋ฒ์ ๋งํ๋ค. ์ด์ ์ด๋ฌํ ์ข
๋ฅ์ ๋ฉํ ๋ฌธ์์ ๋ํด์ ์์๋ณด์.
^ ๋๋ ๋ก ์ฌ์ฉํ๋ฉด ๋๋ค.
|๋ฉํ๋ฌธ์|์ค๋ช | |:โ:--------|::----| ||| |^|๋ฌธ์์ด์ ๋งจ ์ฒ์๊ณผ ์ผ์นํ๋๊ฐ?(์ต์ ์ ๋ฐ๋ผ ์๋ฏธ๊ฐ ๋ค๋ฆ)| |$|๋ฌธ์์ด์ ๋งจ ๋๊ณผ ์ผ์นํ๋๊ฐ?(์ต์ ์ ๋ฐ๋ผ ์๋ฏธ๊ฐ ๋ค๋ฆ)| |\A|๋ฌธ์์ด์ ๋งจ ์ฒ์๊ณผ ์ผ์นํ๋๊ฐ?(์ต์ ์ ๋ฐ๋ผ ์๋ฏธ๊ฐ ๋ค๋ฆ)| |\Z|๋ฌธ์์ด์ ๋งจ ๋๊ณผ ์ผ์นํ๋๊ฐ?(์ต์ ์ ๋ฐ๋ผ ์๋ฏธ๊ฐ ๋ค๋ฆ)| |\b|๋จ์ด ๊ตฌ๋ถ์(whitespace)| |\B|whitespace๊ฐ ์์ชฝ์ ์๋(์ฌ์ค ๋จ์ด๋ผ๊ณ ๋ณผ์๋ ์๋ค) ๊ฒฝ์ฐ์ ํด๋น ๋ฌธ์๊ฐ ์๋ ๊ฒฝ์ฐ ๋งค์น|
|
| ๋ฉํ ๋ฌธ์๋ or๊ณผ ๋์ผํ ์๋ฏธ๋ก ์ฌ์ฉ๋๋ค. A|B๋ผ๋ ์ ๊ท์์ด ์๋ค๋ฉด A ๋๋ B๋ผ๋ ์๋ฏธ๊ฐ ๋๋ค.
^
๋ฉํ ๋ฌธ์๋ ๋ฌธ์์ด์ ๋งจ ์ฒ์๊ณผ ์ผ์นํจ์ ์๋ฏธํ๋ค. ์์์ ์ดํด๋ณธ ์ปดํ์ผ ์ต์ re.MULTILINE์ ์ฌ์ฉํ ๊ฒฝ์ฐ์๋ ์ฌ๋ฌ ์ค์ ๋ฌธ์์ด์ผ ๋ ๊ฐ ์ค์ ์ฒ์๊ณผ ์ผ์นํ๊ฒ ๋๋ค.
๋ค์ ์๋ฅผ ๋ณด์.
^Life
์ ๊ท์์ Life ๋ฌธ์์ด์ด ์ฒ์์ ์จ ๊ฒฝ์ฐ์๋ ๋งค์นํ์ง๋ง ์ฒ์ ์์น๊ฐ ์๋ ๊ฒฝ์ฐ์๋ ๋งค์น๋์ง ์์์ ์ ์ ์๋ค.
$
$
๋ฉํ ๋ฌธ์๋ ^
๋ฉํ ๋ฌธ์์ ๋ฐ๋์ ๊ฒฝ์ฐ์ด๋ค. ์ฆ $
๋ ๋ฌธ์์ด์ ๋๊ณผ ๋งค์นํจ์ ์๋ฏธํ๋ค. ๋ค์ ์๋ฅผ ๋ณด์.
short$
์ ๊ท์์ ๊ฒ์ํ ๋ฌธ์์ด์ด short๋ก ๋๋ ๊ฒฝ์ฐ์๋ ๋งค์น๋์ง๋ง ๊ทธ ์ด์ธ์ ๊ฒฝ์ฐ์๋ ๋งค์น๋์ง ์์์ ์ ์ ์๋ค.
\A
\A
๋ ๋ฌธ์์ด์ ์ฒ์๊ณผ ๋งค์น๋จ์ ์๋ฏธํ๋ค. ^
๋ฉํ ๋ฌธ์์ ๋์ผํ ์๋ฏธ์ด์ง๋ง re.MULTILINE
์ต์
์ ์ฌ์ฉํ ๊ฒฝ์ฐ์๋ ๋ค๋ฅด๊ฒ ํด์๋๋ค. re.MULTILINE ์ต์
์ ์ฌ์ฉํ ๊ฒฝ์ฐ ^
์ ๊ฐ ์ค์ ๋ฌธ์์ด์ ์ฒ์๊ณผ ๋งค์น๋์ง๋ง \A
๋ ์ค๊ณผ ์๊ด์์ด ์ ์ฒด ๋ฌธ์์ด์ ์ฒ์ํ๊ณ ๋ง ๋งค์น๋๋ค.
\Z
\Z
๋ ๋ฌธ์์ด์ ๋๊ณผ ๋งค์น๋จ์ ์๋ฏธํ๋ค. ์ด๊ฒ ์ญ์ \A
์ ๋์ผํ๊ฒ re.MULTILINE
์ต์
์ ์ฌ์ฉํ ๊ฒฝ์ฐ $
๋ฉํ ๋ฌธ์์๋ ๋ฌ๋ฆฌ ์ ์ฒด ๋ฌธ์์ด์ ๋๊ณผ ๋งค์น๋๋ค.
\b
\b๋ ๋จ์ด ๊ตฌ๋ถ์(Word boundary)์ด๋ค. ๋ณดํต ๋จ์ด๋ whitespace์ ์ํด ๊ตฌ๋ถ๋๋ค.
\bclass\b
์ ๊ท์์ ์๋ค๊ฐ whitespace๋ก ๊ตฌ๋ถ๋ class๋ผ๋ ๋จ์ด์ ๋งค์น๋จ์ ์๋ฏธํ๋ค. ๋ฐ๋ผ์ no class at all
์ class๋ผ๋ ๋จ์ด์ ๋งค์น๋จ์ ํ์ธํ ์ ์๋ค.
์ ์์ the declassified algorithm ๋ฌธ์์ด ์์๋ class ๋ฌธ์์ด์ด ํฌํจ๋์ด ์๊ธด ํ์ง๋ง whitespace๋ก ๊ตฌ๋ถ๋ ๋จ์ด๊ฐ ์๋๋ฏ๋ก ๋งค์น๋์ง ์๋๋ค.
subclass ๋ฌธ์์ด ์ญ์ class ์์ sub ๋ฌธ์์ด์ด ๋ํด์ ธ ์์ผ๋ฏ๋ก ๋งค์น๋์ง ์์์ ์ ์ ์๋ค.
\b
๋ฉํ ๋ฌธ์๋ฅผ ์ฌ์ฉํ ๋ ์ฃผ์ํด์ผ ํ ์ ์ด ์๋ค. \b
๋ ํ์ด์ฌ ๋ฆฌํฐ๋ด ๊ท์น์ ์ํ๋ฉด ๋ฐฑ์คํ์ด์ค(BackSpace)๋ฅผ ์๋ฏธํ๋ฏ๋ก ๋ฐฑ์คํ์ด์ค๊ฐ ์๋ ๋จ์ด ๊ตฌ๋ถ์์์ ์๋ ค ์ฃผ๊ธฐ ์ํด r'\bclass\b'
์ฒ๋ผ Raw string์์ ์๋ ค์ฃผ๋ ๊ธฐํธ r์ ๋ฐ๋์ ๋ถ์ฌ ์ฃผ์ด์ผ ํ๋ค.
\B
\B
๋ฉํ ๋ฌธ์๋ \b
๋ฉํ ๋ฌธ์์ ๋ฐ๋์ ๊ฒฝ์ฐ์ด๋ค. ์ฆ whitespace๋ก ๊ตฌ๋ถ๋ ๋จ์ด๊ฐ ์๋ ๊ฒฝ์ฐ์๋ง ๋งค์น๋๋ค.
class ๋จ์ด์ ์๋ค์ whitespace๊ฐ ํ๋๋ผ๋ ์๋ ๊ฒฝ์ฐ์๋ ๋งค์น๊ฐ ์ ๋๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.