{"id":1007,"date":"2018-06-04T08:12:29","date_gmt":"2018-06-03T23:12:29","guid":{"rendered":"https:\/\/oboki.net\/workspace\/?p=1007"},"modified":"2021-10-12T21:18:09","modified_gmt":"2021-10-12T12:18:09","slug":"regex-%ec%a0%84-%ed%9b%84%eb%b0%a9-%ed%83%90%ec%83%89","status":"publish","type":"post","link":"https:\/\/oboki.net\/workspace\/regex\/regex-%ec%a0%84-%ed%9b%84%eb%b0%a9-%ed%83%90%ec%83%89\/","title":{"rendered":"[Regex] \uc804\/\ud6c4\ubc29 \ud0d0\uc0c9"},"content":{"rendered":"<h1>\uc815\uaddc\ud45c\ud604\uc2dd \uc804\ubc29\ud0d0\uc0c9\uacfc \ud6c4\ubc29\ud0d0\uc0c9<\/h1>\n<blockquote><p>\n  \uc815\uaddc\ud45c\ud604\uc2dd\uc744 \uc0ac\uc6a9\ud558\uc5ec \ubb38\uc790\uc5f4\uc744 \uac80\uc0c9\ud560 \ub54c, \ud2b9\uc815 \ubb38\uc790\uc5f4\uc758 \uc704\uce58 \uc870\uac74\uc744 \ub354\ud574 \uc815\ubc00\ud55c \ud0d0\uc0c9\uc774 \uac00\ub2a5\ud558\ub2e4.\n<\/p><\/blockquote>\n<p>\ud754\ud788 \uc4f0\ub294 pcre \uc815\uaddc\uc2dd\uacfc vim \uc5d0\uc11c \uc4f0\ub294 \ubc29\uc2dd\uc774 \uc57d\uac04 \ub2e4\ub974\ub2e4.<\/p>\n<h2>\uc608\uc81c apache \ub85c\uadf8<\/h2>\n<pre><code class=\"log\">0.0.0.0 - - [03\/Jun\/2019:03:05:45 +0900] \"POST \/xmlrpc.php HTTP\/1.1\" 200 418\n0.0.0.0 - - [03\/Jun\/2019:03:51:56 +0900] \"GET \/ HTTP\/1.0\" 400 362\n0.0.0.0 - - [03\/Jun\/2019:03:52:07 +0900] \"GET \/issView?iId=162604 HTTP\/1.1\" 302 341\n0.0.0.0 - - [03\/Jun\/2019:03:52:24 +0900] \"GET \/ HTTP\/1.0\" 400 362\n0.0.0.0 - - [03\/Jun\/2019:04:12:21 +0900] \"POST \/xmlrpc.php HTTP\/1.1\" 200 418\n0.0.0.0 - - [03\/Jun\/2019:04:12:21 +0900] \"POST \/wp-cron.php?doing_wp_cron=1559502741.5204310417175292968750 HTTP\/1.1\" 200 -\n0.0.0.0 - - [03\/Jun\/2019:04:56:18 +0900] \"GET \/lunchwheel HTTP\/1.1\" 200 12272\n0.0.0.0 - - [03\/Jun\/2019:09:52:10 +0900] \"GET \/static\/img\/dropdown.png HTTP\/1.1\" 404 233\n0.0.0.0 - - [04\/Jun\/2019:11:02:14 +0900] \"GET \/search HTTP\/1.1\" 301 253\n0.0.0.0 - - [03\/Jun\/2019:21:52:07 +0900] \"GET \/search\/login HTTP\/1.1\" 200 6323\n0.0.0.0 - - [04\/Jun\/2019:11:02:14 +0900] \"GET \/search\/ HTTP\/1.1\" 301 253\n0.0.0.0 - - [03\/Jun\/2019:21:52:14 +0900] \"GET \/search\/?s=keyword&amp;sort=accuracy HTTP\/1.1\" 200 43888 \n0.0.0.0 - - [05\/Jun\/2019:17:47:24 +0900] \"GET \/issView?iId=93989 HTTP\/1.1\" 302 339\n<\/code><\/pre>\n<h2>\ud6c4\ubc29\ud0d0\uc0c9 ?&lt;=<\/h2>\n<ul>\n<li>pcre\n<ul>\n<li>(?&lt;=pattern1)pattern2<\/li>\n<\/ul>\n<\/li>\n<li>vim\n<ul>\n<li>(pattern1)\\@&lt;=pattern2<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>\uc704 \uc608\uc81c apache \ub85c\uadf8\uc5d0\uc11c GET \uba54\uc18c\ub4dc\uac00 \uc694\uccad\ub41c \uacbd\ub85c\ub97c \ucc3e\uace0\uc790 \ud55c\ub2e4\uba74 <code>GET\\s\\S+<\/code> \ud328\ud134\uc73c\ub85c \ud574\ub2f9 \uacbd\ub85c\ub97c \ucc3e\uc544\ub0bc \uc218 \uc788\uaca0\uc9c0\ub9cc, \uc774 \ub54c\uc5d0 \ud6c4\ubc29 \ud0d0\uc0c9\uc744 \uc0ac\uc6a9\ud558\uba74 <code>GET<\/code> \ubb38\uc790\uc5f4\uc740 \uc18c\ube44\uc2dc\ud0a4\uace0 \uc694\uccad \uacbd\ub85c\ub9cc \ubc18\ud658\ud560 \uc218 \uc788\ub2e4.<\/p>\n<pre><code class=\"regex\">(?&lt;=GET\\s)\\S+\n<\/code><\/pre>\n<p>\ud6c4\ubc29\ud0d0\uc0c9\uc740 \ub4a4\ucabd\uc5d0\uc11c\ubd80\ud130 \ud0d0\uc0c9\uc744 \ud558\ub294 \uac83\uc73c\ub85c <code>(?&lt;=\uc870\uac74)<\/code> \uacfc \uac19\uc774 \uc870\uac74\uc744 \uc785\ub825\ud55c\ub2e4. \uc704\uc758 \uacbd\uc6b0 \uc870\uac74 \ubb38\uc790\uc5f4(<code>GET\\s<\/code>) \uc774\ud6c4\uc5d0 \ubc1c\uc0dd\ud558\ub294 \ud328\ud134\ub9cc \ucc3e\uc744 \uc218 \uc788\ub2e4.<\/p>\n<pre><code class=\"log\">\/\n\/issView?iId=162604\n\/\n\/lunchwheel\n\/static\/img\/dropdown.png\n\/search\n\/search\/login\n\/search\/\n\/search\/?s=keyword&amp;sort=accuracy\n\/issView?iId=93989\n<\/code><\/pre>\n<h2>\uc804\ubc29\ud0d0\uc0c9 ?=<\/h2>\n<ul>\n<li>pcre\n<ul>\n<li>pattern1(?=pattern2)<\/li>\n<\/ul>\n<\/li>\n<li>vim\n<ul>\n<li>pattern1(pattern2)\\@=<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>\uc804\ubc29\ud0d0\uc0c9\uc744 \uc774\uc6a9\ud558\uba74 \uc870\uac74 \ubb38\uc790\uc5f4 \uc55e\uc5d0 \ucc3e\uace0\uc790 \ud558\ub294 \ud328\ud134\uc744 \ucc3e\uc544\ub0bc \uc218 \uc788\ub2e4.<\/p>\n<p>400 \ub300 \uc5d0\ub7ec\uac00 \ubc1c\uc0dd\ud588\uc744 \ub54c\uc5d0 \uc5b4\ub5a4 \uc694\uccad\uc744 \ud588\ub294\uc9c0 \ucc3e\uc544\ub0b4\uace0\uc790 \ud55c\ub2e4\uba74, <code>&quot;[\\S ]+&quot;\\s4\\d\\d\\s\\d+<\/code> \ud328\ud134\uc73c\ub85c \ucc3e\uc544\ub0b8 \ub4a4 \ud6c4\ucc98\ub9ac\ub97c \ud574\uc904 \uc218\ub3c4 \uc788\uaca0\uc9c0\ub9cc, \uc804\ubc29 \ud0d0\uc0c9\uc744 \uc774\uc6a9\ud574\uc11c \ubc14\ub85c \ud574\ub2f9 \uc694\uccad\uac12\uc744 \ubc18\ud658\uc2dc\ud0ac \uc218 \uc788\ub2e4.<\/p>\n<pre><code class=\"regex\">\"[\\S ]+\"(?=\\s4\\d\\d\\s\\d+)\n<\/code><\/pre>\n<p>\uc704\uc640 \uac19\uc740 \ud328\ud134\uc73c\ub85c \uc608\uc81c \ub85c\uadf8\ub97c \ud0d0\uc0c9\ud558\uba74 \uc544\ub798\uc640 \uac19\uc740 \uacb0\uacfc\ub97c \ud655\uc778\ud560 \uc218 \uc788\ub2e4.<\/p>\n<pre><code class=\"log\">\"GET \/ HTTP\/1.0\"\n\"GET \/ HTTP\/1.0\"\n\"GET \/static\/img\/dropdown.png HTTP\/1.1\"\n<\/code><\/pre>\n<h2>\ubd80\uc815\ud615 \uc804\/\ud6c4\ubc29 \ud0d0\uc0c9<\/h2>\n<table>\n<thead>\n<tr>\n<th>\uc5f0\uc0b0\uc790<\/th>\n<th>\ud0d0\uc0c9 \ubc29\ubc95<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>?=<\/td>\n<td>\uae0d\uc815\ud615 \uc804\ubc29 \ud0d0\uc0c9<\/td>\n<\/tr>\n<tr>\n<td>?!<\/td>\n<td>\ubd80\uc815\ud615 \uc804\ubc29 \ud0d0\uc0c9<\/td>\n<\/tr>\n<tr>\n<td>?&lt;=<\/td>\n<td>\uae0d\uc815\ud615 \ud6c4\ubc29 \ud0d0\uc0c9<\/td>\n<\/tr>\n<tr>\n<td>?&lt;!<\/td>\n<td>\ubd80\uc815\ud615 \ud6c4\ubc29 \ud0d0\uc0c9<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n","protected":false},"excerpt":{"rendered":"<p>\uc815\uaddc\ud45c\ud604\uc2dd \uc804\ubc29\ud0d0\uc0c9\uacfc \ud6c4\ubc29\ud0d0\uc0c9 \uc815\uaddc\ud45c\ud604\uc2dd\uc744 \uc0ac\uc6a9\ud558\uc5ec \ubb38\uc790\uc5f4\uc744 \uac80\uc0c9\ud560 \ub54c, \ud2b9\uc815 \ubb38\uc790\uc5f4\uc758 \uc704\uce58 \uc870\uac74\uc744 \ub354\ud574 \uc815\ubc00\ud55c \ud0d0\uc0c9\uc774 \uac00\ub2a5\ud558\ub2e4. \ud754\ud788 \uc4f0\ub294 pcre \uc815\uaddc\uc2dd\uacfc vim \uc5d0\uc11c \uc4f0\ub294 \ubc29\uc2dd\uc774 \uc57d\uac04 \ub2e4\ub974\ub2e4. \uc608\uc81c apache \ub85c\uadf8 0.0.0.0 &#8211; &#8211; [03\/Jun\/2019:03:05:45 +0900] &#8220;POST \/xmlrpc.php HTTP\/1.1&#8221; 200 418 0.0.0.0 &#8211; &#8211; [03\/Jun\/2019:03:51:56 +0900] &#8220;GET \/ HTTP\/1.0&#8221; 400 362 0.0.0.0 &#8211; &#8211; [03\/Jun\/2019:03:52:07 +0900] &#8220;GET [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[79],"tags":[149],"class_list":["post-1007","post","type-post","status-publish","format-standard","hentry","category-regex","tag-149"],"_links":{"self":[{"href":"https:\/\/oboki.net\/workspace\/wp-json\/wp\/v2\/posts\/1007","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/oboki.net\/workspace\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/oboki.net\/workspace\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/oboki.net\/workspace\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/oboki.net\/workspace\/wp-json\/wp\/v2\/comments?post=1007"}],"version-history":[{"count":5,"href":"https:\/\/oboki.net\/workspace\/wp-json\/wp\/v2\/posts\/1007\/revisions"}],"predecessor-version":[{"id":1272,"href":"https:\/\/oboki.net\/workspace\/wp-json\/wp\/v2\/posts\/1007\/revisions\/1272"}],"wp:attachment":[{"href":"https:\/\/oboki.net\/workspace\/wp-json\/wp\/v2\/media?parent=1007"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/oboki.net\/workspace\/wp-json\/wp\/v2\/categories?post=1007"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/oboki.net\/workspace\/wp-json\/wp\/v2\/tags?post=1007"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}