{"id":842,"date":"2019-01-24T12:23:40","date_gmt":"2019-01-24T03:23:40","guid":{"rendered":"http:\/\/141.164.34.82\/?p=842"},"modified":"2022-02-03T18:04:24","modified_gmt":"2022-02-03T09:04:24","slug":"regular-expressions","status":"publish","type":"post","link":"http:\/\/ds.sumeun.org\/?p=842","title":{"rendered":"\uc815\uaddc\ud45c\ud604\uc2dd: \uc815\ub9ac"},"content":{"rendered":"<h1>\uc815\uaddc\ud45c\ud604\uc2dd<\/h1>\n<h3>\ucc38\uace0\uc790\ub8cc<\/h3>\n<ul>\n<li><code>stringr::str_view()<\/code><\/li>\n<li><a href=\"https:\/\/regex101.com\">https:\/\/regex101.com<\/a><\/li>\n<li><a href=\"https:\/\/regexr.com\">https:\/\/regexr.com<\/a><\/li>\n<li><a href=\"https:\/\/regexper.com\">https:\/\/regexper.com<\/a><\/li>\n<\/ul>\n<h3>\ub300\ud45c\uc801\uc778 \uc815\uaddc\ud45c\ud604\uc2dd<\/h3>\n<table>\n<thead>\n<tr>\n<th align=\"center\">\uc815\uaddc\ud45c\ud604\uc2dd<\/th>\n<th align=\"left\">\uc758\ubbf8<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td align=\"center\"><code>n2ow<\/code><\/td>\n<td align=\"left\"><code>n2ow<\/code><\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><code>[abc]<\/code><\/td>\n<td align=\"left\"><code>a<\/code>, <code>b<\/code>, \ub610\ub294 <code>c<\/code><\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><code>[a-z]<\/code><\/td>\n<td align=\"left\">\ubb38\uc790 <code>a<\/code>\uc5d0\uc11c <code>z<\/code>\uae4c\uc9c0<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><code>[0-9]<\/code><\/td>\n<td align=\"left\"><code>0<\/code>\uc5d0\uc11c <code>9<\/code>\uae4c\uc9c0<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><code>[^abc]<\/code><\/td>\n<td align=\"left\"><code>a<\/code>, <code>b<\/code>, <code>c<\/code>\ub97c \uc81c\uc678\ud55c \ubaa8\ub4e0 \ubb38\uc790<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><code>[^a-z]<\/code><\/td>\n<td align=\"left\"><code>a<\/code>, <code>b<\/code>, <code>c<\/code>, \u2026, <code>z<\/code>\ub97c \uc81c\uc678\ud55c \ubaa8\ub4e0 \ubb38\uc790<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><code>[\\\\^]<\/code>, <code>[\\\\-]<\/code><\/td>\n<td align=\"left\"><code>^<\/code>, <code>-<\/code>\ub97c <code>[ ]<\/code> \uc548\uc5d0\uc11c \ub098\ud0c0\ub0b4\uae30<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><\/td>\n<td align=\"left\"><\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><code>\\d<\/code><\/td>\n<td align=\"left\">\uc22b\uc790<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><code>\\D<\/code><\/td>\n<td align=\"left\">\uc22b\uc790\ub97c \uc81c\uc678\ud55c \ubaa8\ub4e0 \ubb38\uc790<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><code>\\w<\/code><\/td>\n<td align=\"left\">\uc54c\ud30c\ubcb3, \ud55c\uae00, \uc22b\uc790(alphanumeric)<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><code>\\W<\/code><\/td>\n<td align=\"left\">\uc54c\ud30c\ubcb3, \ud55c\uae00, \uc22b\uc790\ub97c \uc81c\uc678\ud55c \ubaa8\ub4e0 \ubb38\uc790(non-alphnumeric)<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><code>\\s<\/code><\/td>\n<td align=\"left\">\uacf5\ub780(<code>' '<\/code>, <code>'\\t'<\/code>, <code>'\\r'<\/code>, <code>'\\n'<\/code>)<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><code>\\S<\/code><\/td>\n<td align=\"left\">\uacf5\ub780\uc744 \uc81c\uc678\ud55c \ubaa8\ub4e0 \ubb38\uc790<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><code>\\b<\/code><\/td>\n<td align=\"left\">\ub2e8\uc5b4 \uacbd\uacc4(word boundary): <code>\\w<\/code>\uc640 <code>\\W<\/code>\uc758 \uc5f0\uacb0<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><code>\\B<\/code><\/td>\n<td align=\"left\">\ub2e8\uc5b4 \uacbd\uacc4\uac00 \uc544\ub2cc \uacbd\uc6b0<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><\/td>\n<td align=\"left\"><\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><code>.<\/code><\/td>\n<td align=\"left\">\ubaa8\ub4e0 \ubb38\uc790<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><code>\\.<\/code><\/td>\n<td align=\"left\"><code>.<\/code>(\ub9c8\uce68\ud45c)<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><code>\\[<\/code>, <code>\\]<\/code><\/td>\n<td align=\"left\"><code>[<\/code>, <code>]<\/code><\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><code>\\\\<\/code><\/td>\n<td align=\"left\"><code>\\<\/code><\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><\/td>\n<td align=\"left\"><\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><code>a{m}<\/code><\/td>\n<td align=\"left\"><code>a<\/code>\ub97c m\ubc88 \ubc18\ubcf5<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><code>[cd]{m,n}<\/code><\/td>\n<td align=\"left\"><code>c<\/code> \ub610\ub294 <code>d<\/code>\ub97c m\uc5d0\uc11c n\ubc88\uc758 \ubc18\ubcf5<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><code>*<\/code><\/td>\n<td align=\"left\">0\ubc88 \uc774\uc0c1\uc758 \ubc18\ubcf5<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><code>+<\/code><\/td>\n<td align=\"left\">1\ubc88 \uc774\uc0c1\uc758 \ubc18\ubcf5<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><code>?<\/code><\/td>\n<td align=\"left\">0\ubc88 \ub610\ub294 1\ubc88<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><code>{m,n}?<\/code>, <code>*?<\/code>, <code>+?<\/code>, <code>??<\/code><\/td>\n<td align=\"left\">\ub354 \uc801\uc740 \ud69f\uc218\ub97c \uc120\ud638<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><code>\\{<\/code>, <code>\\}<\/code>, <code>\\*<\/code>, <code>\\+<\/code>, <code>\\?<\/code><\/td>\n<td align=\"left\"><code>{<\/code>, <code>}<\/code>, <code>*<\/code>, <code>+<\/code>, <code>?<\/code><\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><\/td>\n<td align=\"left\"><\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><code>^<\/code>, <code>$<\/code><\/td>\n<td align=\"left\">\uc2dc\uc791\uacfc \ub05d<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><code>(<\/code> <code>)<\/code><\/td>\n<td align=\"left\">\uadf8\ub8f9<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><code>(ab(cd))<\/code><\/td>\n<td align=\"left\">\uadf8\ub8f9 \ub0b4\uc758 \uadf8\ub8f9<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">(now<\/td>\n<td align=\"left\">never)<\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><code>\\^<\/code> , <code>\\$<\/code>, <code>\\(<\/code>, <code>\\)<\/code><\/td>\n<td align=\"left\"><code>^<\/code>, <code>$<\/code>, <code>(<\/code>, <code>)<\/code><\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><\/td>\n<td align=\"left\"><\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><code>\\1<\/code>, <code>\\2<\/code><\/td>\n<td align=\"left\">\uccab \ubc88\uc9f8, \ub450 \ubc88\uc9f8 \uadf8\ub8f9<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<ul>\n<li>\ubb38\uc790\ub97c \uadf8\ub300\ub85c \uc4f8 \uc218 \uc5c6\uae30 \ub54c\ubb38\uc5d0 <code>\\<\/code>\ub97c \uc368\uc57c \ud558\ub294 \ubb38\uc790<br \/>\n<code><br \/>\n. [ ] \\ { } * + ? ^ $ ( ) |<br \/>\n<\/code><\/li>\n<\/ul>\n<h3>POSIX \ube0c\ub77c\ucf13<\/h3>\n<table>\n<thead>\n<tr>\n<th align=\"center\">POSIX \ube0c\ub77c\ucf13<\/th>\n<th align=\"left\">\uc758\ubbf8<\/th>\n<th align=\"left\">\ub2e4\ub978\ud45c\ud604<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td align=\"center\"><code>[:alnum:]<\/code><\/td>\n<td align=\"left\">\uc54c\ud30c\ubcb3\uacfc \uc22b\uc790<\/td>\n<td align=\"left\"><code>[a-zA-Z0-9]<\/code><\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><code>[:alpha:]<\/code><\/td>\n<td align=\"left\">\uc54c\ud30c\ubcb3<\/td>\n<td align=\"left\"><code>[a-zA-Z]<\/code><\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><code>[:ascii:]<\/code><\/td>\n<td align=\"left\">\uc544\uc2a4\ud0a4 \ubb38\uc790<\/td>\n<td align=\"left\"><code>[\\x00-\\x7F]<\/code><\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><code>[:blank:]<\/code><\/td>\n<td align=\"left\">Space\uc640 Tab<\/td>\n<td align=\"left\"><code>[ \\t]<\/code><\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><code>[:cntrl:]<\/code><\/td>\n<td align=\"left\">\uc81c\uc5b4\ubb38\uc790<\/td>\n<td align=\"left\"><code>[\\x00-\\x1F\\x7F]<\/code><\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><code>[:digit:]<\/code><\/td>\n<td align=\"left\">\uc22b\uc790<\/td>\n<td align=\"left\"><code>[0-9]<\/code><\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><code>[:graph:]<\/code><\/td>\n<td align=\"left\">\ubcfc \uc218 \uc788\ub294 \ubb38\uc790[<sup>g1]<\/sup><\/td>\n<td align=\"left\"><code>[\\x21-\\x7E]<\/code><\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><code>[:lower:]<\/code><\/td>\n<td align=\"left\">\uc18c\ubb38\uc790<\/td>\n<td align=\"left\"><code>[a-z]<\/code><\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><code>[:print:]<\/code><\/td>\n<td align=\"left\">\ubcfc \uc218 \uc788\ub294 \ubb38\uc790\uc640 \uacf5\ub780[<sup>g2]<\/sup><\/td>\n<td align=\"left\"><code>[\\x20-\\x7E]<\/code><\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><code>[:punct:]<\/code><\/td>\n<td align=\"left\">\ubb38\uc7a5\ubd80\ud638\uc640 \uae30\ud638<\/td>\n<td align=\"left\">[!\u201c#$%&amp;'()*+,-.\/:;&lt;=&gt;?\\[\\\\]_<sup>{<\/sup><\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><code>[:space:]<\/code><\/td>\n<td align=\"left\">\ubaa8\ub4e0 \uacf5\ub780 \ubb38\uc790[<sup>g3]<\/sup><\/td>\n<td align=\"left\"><code>[\\t\\r\\n\\v\\f]<\/code><\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><code>[:upper:]<\/code><\/td>\n<td align=\"left\">\ub300\ubb38\uc790<\/td>\n<td align=\"left\"><code>[A-Z]<\/code><\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><code>[:word:]<\/code><\/td>\n<td align=\"left\">\ub2e8\uc5b4 \ubb38\uc790(\ubb38\uc790, \uc22b\uc790, \ubc11\uc904)<\/td>\n<td align=\"left\"><code>[A-Za-z0-9_]<\/code><\/td>\n<\/tr>\n<tr>\n<td align=\"center\"><code>[:xdigit:]<\/code><\/td>\n<td align=\"left\">16\uc9c4\uc218 \uc22b\uc790<\/td>\n<td align=\"left\"><code>[A-Fa-f0-9]<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>[<sup>g1]:<\/sup> \uacf5\ub780, \uc81c\uc5b4\ubb38\uc790 \uc81c\uc678 \ubaa8\ub4e0 \ubb38\uc790<br \/>\n[<sup>g2]:<\/sup> \uc81c\uc5b4\ubb38\uc790 \uc81c\uc678<br \/>\n[<sup>g3]:<\/sup> \uc904\ubc14\uafc8 \ud3ec\ud568<\/p>\n<h3>\uc815\uaddc\ud45c\ud604\uc2dd\uc744 \ud65c\uc6a9\ud560 \uc218 \uc788\ub294 \ud568\uc218\ub4e4<\/h3>\n<ul>\n<li><code>dir<\/code> \ub610\ub294 <code>list.files<\/code>, <code>apropos<\/code>, <code>find<\/code> \ub4f1<\/li>\n<\/ul>\n<h3>Approximate matching(edit-based distance)<\/h3>\n<ul>\n<li><code>stringdist::stringdist(a, b, method= )<\/code><\/li>\n<li><code>method=<\/code>\n<ul>\n<li><code>'osa'<\/code><\/li>\n<li><code>'lv'<\/code> : delete, insert, substitution<\/li>\n<li><code>'dl'<\/code> : delete, insert, substitution, transposition<\/li>\n<li><code>'hamming'<\/code><\/li>\n<li><code>'lcs'<\/code> : delete, insert<\/li>\n<li><code>'gram'<\/code><\/li>\n<li><code>'cosine'<\/code><\/li>\n<li><code>'jaccard'<\/code><\/li>\n<li><code>'jw'<\/code><\/li>\n<li><code>'soundex'<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>\uc815\uaddc\ud45c\ud604\uc2dd \ucc38\uace0\uc790\ub8cc stringr::str_view() https:\/\/regex101.com https:\/\/regexr.com https:\/\/regexper.com \ub300\ud45c\uc801\uc778 \uc815\uaddc\ud45c\ud604\uc2dd \uc815\uaddc\ud45c\ud604\uc2dd \uc758\ubbf8 n2ow n2ow [abc] a, b, \ub610\ub294 c [a-z] \ubb38\uc790 a\uc5d0\uc11c z\uae4c\uc9c0 [0-9] 0\uc5d0\uc11c 9\uae4c\uc9c0 [^abc] a, b, c\ub97c \uc81c\uc678\ud55c \ubaa8\ub4e0 \ubb38\uc790 [^a-z] a, b, c, \u2026, z\ub97c \uc81c\uc678\ud55c \ubaa8\ub4e0 \ubb38\uc790 [\\\\^], [\\\\-] ^, -\ub97c [ ] \uc548\uc5d0\uc11c \ub098\ud0c0\ub0b4\uae30 \\d \uc22b\uc790 \\D \uc22b\uc790\ub97c \uc81c\uc678\ud55c \ubaa8\ub4e0 \ubb38\uc790 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2497,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[28,80,79],"tags":[90,92,91],"jetpack_featured_media_url":"http:\/\/ds.sumeun.org\/wp-content\/uploads\/2019\/01\/chess-gd02f3a624_640.png","_links":{"self":[{"href":"http:\/\/ds.sumeun.org\/index.php?rest_route=\/wp\/v2\/posts\/842"}],"collection":[{"href":"http:\/\/ds.sumeun.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/ds.sumeun.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/ds.sumeun.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/ds.sumeun.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=842"}],"version-history":[{"count":3,"href":"http:\/\/ds.sumeun.org\/index.php?rest_route=\/wp\/v2\/posts\/842\/revisions"}],"predecessor-version":[{"id":2498,"href":"http:\/\/ds.sumeun.org\/index.php?rest_route=\/wp\/v2\/posts\/842\/revisions\/2498"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/ds.sumeun.org\/index.php?rest_route=\/wp\/v2\/media\/2497"}],"wp:attachment":[{"href":"http:\/\/ds.sumeun.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=842"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/ds.sumeun.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=842"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/ds.sumeun.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=842"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}