{"id":1016,"date":"2010-06-24T13:35:26","date_gmt":"2010-06-24T04:35:26","guid":{"rendered":"http:\/\/livedevil.net\/?p=1016"},"modified":"2010-06-24T13:35:26","modified_gmt":"2010-06-24T04:35:26","slug":"powershell-%ec%97%90%ec%84%9c%ec%9d%98-%ec%a0%95%ea%b7%9c-%ed%91%9c%ed%98%84%ec%8b%9d-regular-expressions","status":"publish","type":"post","link":"https:\/\/talsu.net\/?p=1016","title":{"rendered":"Powershell \uc5d0\uc11c\uc758 \uc815\uaddc \ud45c\ud604\uc2dd (Regular Expressions)"},"content":{"rendered":"<p>Powershell \uc5d0\uc11c\ub3c4 \uc27d\uac8c Regex(\uc815\uaddc \ud45c\ud604\uc2dd)\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4. shell \ud658\uacbd\uc778 \ub9cc\ud07c \uadf8 \ud65c\uc6a9 \ubc94\uc704\uac00 \ub9e4\uc6b0 \ud06c\uba70 \uc5ec\ub7ec \uc0c1\ud669\uc5d0\uc11c \uc751\uc6a9\uc774 \uac00\ub2a5\ud558\ub2e4.<\/p>\n<p>Regex\ub97c \uc0ac\uc6a9\ud558\ub294 \uacbd\uc6b0\ub97c \ud06c\uac8c 2\uac00\uc9c0\ub85c \ubcf4\uba74 \uac80\uc0c9(\uc77c\uce58 \ud655\uc778) \uacfc \uce58\ud658\uc791\uc5c5\uc73c\ub85c \ubcfc \uc218 \uc788\ub294\ub370 Powershell\uc740 \ub450\uac00\uc9c0\ub97c \uc5f0\uc0b0\uc790 -match \uc640 -replace\ub85c \uc81c\uacf5\ud55c\ub2e4.<\/p>\n<p>\uae30\ubcf8\uc801\uc73c\ub85c \ub300\uc18c\ubb38\uc790\ub97c \uad6c\ubd84\ud558\uc9c0 \uc54a\ub294 Powershell \ud658\uacbd\uc774\uae30 \ub54c\ubb38\uc5d0 -match\uc640 -replace\ub3c4 \ub300\uc18c\ubb38\uc790\ub97c \uad6c\ubd84 \ud558\uc9c0 \uc54a\ub294\ub2e4. \ub300\uc18c\ubb38\uc790\ub97c \uad6c\ubd84\ud558\uae30 \uc704\ud574\uc11c\ub294 \ub2e4\ub978 \uc5f0\uc0b0\uc790\ub4e4\uacfc \uac19\uc774 \uc55e\uc5d0 &#8216;c&#8217;\ub97c \ubd99\ud600 -cmatch, -creplace\ub97c \uc0ac\uc6a9 \ud558\uba74 \ub41c\ub2e4. (&#8216;i&#8217; \ub97c \ubd99\ud600 -imatch -ireplace \ub3c4 \uc788\ub294\ub370 \uc774\uac83\uc740 -match -replace\uc640 \ub3d9\uc77c \ud558\ub2e4.)<\/p>\n<p><\/br><\/p>\n<h2>-match<\/h2>\n<p>[Source] -replace [Find Target] \ud615\uc2dd\uc73c\ub85c \ucc3e\uc744 \uc218 \uc788\ub2e4.<\/p>\n<pre class=\"lang:ps nums:false wrap:true decode:true\">\n$text = \"Windows PowerShell is a task-based command-line shell and scripting language designed especially for system administration.\"\n\n$text -match \"powershell\"\t\t# true\n\n$text -cmatch \"powershell\"\t\t# false\n\n$text -cmatch \"PowerShell\"\t\t# true\n<\/pre>\n<p>-match  \uc5f0\uc0b0\uc790\ub97c \uc0ac\uc6a9\ud55c \ub4a4\uc5d0\ub294 $Matches \ub77c\ub294 \ubcc0\uc218\uac00 \uc0c8\ub85c \uc0dd\uc131 \ub418\ub294\ub370 \uc774 \ubcc0\uc218\ub294 -match \uc5f0\uc0b0\uc790\uac00 true\ub97c \ubc18\ud658 \ud588\uc744\ub54c \uc0dd\uc131\ub418\uba70 match\ub85c \ucc3e\uc740 \ub300\uc0c1\ub4e4\uc774 Collection\uc73c\ub85c \ub2f4\uaca8 \uc788\ub2e4.<\/p>\n<p>\ud604 \uc0c1\ud0dc\uc5d0\uc11c $Matches\ub97c \ud655\uc778 \ud574 \ubcf4\uc790.<\/p>\n<pre class=\"lang:default wrap:true nums:false decode:true\">\nPS C:> $Matches\nName                           Value\n----                           -----\n0                              PowerShell\n<\/pre>\n<p>PowerShell\uc774\ub77c\ub294 \ubb38\uc790\uc5f4\uc744 \ucc3e\uc558\uc73c\ub2c8 \ub2f9\uc5f0\ud788 PowerShell \uc774 \ub4e4\uc5b4 \uc788\ub2e4.<\/p>\n<p>\uadf8\ub807\ub2e4\uba74 \uc774\ubc88\uc5d4 g\ub85c \ub05d\ub098\ub294 \ub2e8\uc5b4\ub97c \ucc3e\uc544 \ubcf4\uc790.<\/p>\n<pre class=\"lang:ps nums:false wrap:true decode:true\">\n$text -match \"w+g\"\n<\/pre>\n<p>\uacb0\uacfc\ub294 True\ub85c \uc774\uc9c0\ub9cc \uc5b4\ub5a4 \ubb38\uc790\uc5f4\uc774 match \ub418\uc5c8\ub294\uc9c0\ub294 \uc54c \uc218 \uc5c6\ub2e4. \uc774\ub54c $Matches\ub97c \uc774\uc6a9\ud574 \ud655\uc778 \ud574 \ubcf4\uc790.<\/p>\n<pre class=\"lang:default wrap:true nums:false decode:true\">\nPS C:> $Matches\nName                           Value\n----                           -----\n0                              scripting\n<\/pre>\n<p>scripting \uc774\ub77c\ub294 \ubb38\uc790\uc5f4\uc774 match \ub428\uc744 \ud655\uc778 \ud560 \uc218 \uc788\ub2e4.<\/p>\n<p>\ucd94\uac00 \uc801\uc73c\ub85c Group \uc744 \uc774\uc6a9\ud558\uc5ec \uac80\uc0c9 \ud560\ub54c \ub2e4\uc74c\uacfc \uac19\uc774 \ud65c\uc6a9 \ud560 \uc218 \uc788\ub2e4.<\/p>\n<pre class=\"lang:ps nums:false wrap:true decode:true\">\n$text -match '(w+)-(w+)'\n<\/pre>\n<p>\ubb38\uc790\uc5f4 \uc911\uc559\uc5d0 &#8211; \uc774 \ub4e4\uc5b4\uac04 \ubb38\uc790\uc5f4\uc744 \ucc3e\uc744 \uac83\uc774\ub2e4.<\/p>\n<pre class=\"lang:default wrap:true nums:false decode:true\">\nPS C:> $Matches\n\nName                           Value\n----                           -----\n2                              based\n1                              task\n0                              task-based\n<\/pre>\n<p>Group\uc73c\ub85c \uac80\uc0c9\ub41c \uacb0\uacfc\uc640 \uc804\uccb4 \uacb0\uacfc\uae4c\uc9c0 \uac19\uc774 \ud3ec\ud568\ub41c\ub2e4.<br \/>\n$Matches[0] \uc774 \uc804\uccb4 \ubb38\uc790\uc5f4\uc774\uace0 $Matches[1] \ubc88\ubd80\ud130 Group 1\ubc88\uc774\ub2e4.<\/p>\n<p>\uc704\uc5d0\uc11c \ub208\uc5ec\uaca8 \ubcfc \uc810\uc740 &#8220;command-line&#8221; \ubb38\uc790\uc5f4\ub3c4 \ubc1c\uacac\ub420 \uc870\uac74\uc778\ub370 &#8220;task-based&#8221; \ub9cc \ubc1c\uacac \ub418\uc5c8\ub2e4. \uc774\uc720\ub294 -match \uc5f0\uc0b0\uc790\ub294 bool \uac12\uc744 \ub9ac\ud134\ud558\uae30 \ub54c\ubb38\uc5d0 \uc804\uccb4 \ubb38\uc790\uc5f4\uc744 \uc55e\uc5d0\uc11c \ubd80\ud130 \ud0d0\uc0c9\ud558\uc5ec \ud55c\ubc88\uc774\ub77c\ub3c4 \ubc1c\uacac \ub418\uba74 \uc989\uc2dc True\ub97c \ub9ac\ud134\ud558\uace0 \uc885\ub8cc \ud558\uae30 \ub54c\ubb38\uc774\ub2e4.<\/p>\n<p><\/br><\/p>\n<h2><\/strong><\/h2>\n<p>\uc774\ubc88\uc5d0\ub294 -replace \uc5f0\uc0b0\uc790\ub85c \uce58\ud658\uc744 \ud574 \ubcf4\uc790. &#8220;Powershell&#8221; \uc774\ub77c\ub294 \ubb38\uc790\uc5f4\uc744 \uc904\uc784 \ub9d0\uc778 &#8220;Posh&#8221; \ub85c \ubc14\uafd4\ubcf4\uc790.<\/p>\n<p>[Source] -replace [Find Target], [Replace  What] \ud615\uc2dd\uc774\ub2e4.<\/p>\n<pre class=\"lang:ps nums:false wrap:true decode:true\">\n$text = \"Windows PowerShell is a task-based command-line shell and scripting language designed especially for system administration.\"\n\n$text -replace \"Powershell\", \"Posh\"\n<\/pre>\n<p>\uc989\uc2dc \ub2e4\uc74c\uacfc \uac19\uc740 \uce58\ud658\uc774 \uc774\ub8e8\uc5b4\uc9c4 \ubb38\uc790\uc5f4\uc774 \ubcf4\uc77c \uac83\uc774\ub2e4.<\/p>\n<pre class=\"lang:default wrap:true nums:false decode:true\">\nWindows Posh is a task-based command-line shell and scripting language designed especially for system administration.\n<\/pre>\n<p>\ubb38\uc790\uc5f4\uc774 \ucd9c\ub825 \ub418\uc5c8\ub2e4\ub294 \uac83\uc740 -replace \uc5f0\uc0b0\uc790\uac00 \ubb38\uc790\uc5f4\uc744 return \ud588\ub2e4\ub294 \ub73b\uc774\ub2e4. \uc6d0\ubcf8 \ubb38\uc790\uc5f4\uc778 $text\ub294 \uc544\ubb34 \ubcc0\ud654\uac00 \uc5c6\uace0 \uc624\ub85c\uc9c0 \uce58\ud658\ub41c \ubb38\uc790\uc5f4\uc774 return \ub420\ubfd0\uc774\ub2e4.<\/p>\n<p>\uc774\ubc88\uc5d0\ub294 Group\uc744 \uc774\uc6a9\ud55c -replace\ub97c \ud574 \ubcf4\uc790.<\/p>\n<pre class=\"lang:ps nums:false wrap:true decode:true\">\n$text -replace \"(w+)-(w+)\", \"$2-$1\"\n<\/pre>\n<pre class=\"lang:default wrap:true nums:false decode:true\">\nWindows PowerShell is a - - shell and scripting language designed especially for system administration.\n<\/pre>\n<p>\uc7a0\uc2dc \ub180\ub784 \uac83\uc774\ub2e4. \uae30\ub300 \ud588\ub358 \uac83\uc740 -\uc591\ucabd\uc758 \ubb38\uc790\uc5f4\uc744 \uc11c\ub85c \ubc14\uafb8\ub294 \ub3d9\uc791\uc778\ub370 \uacb0\uacfc\ub294 \ube48\uce78\uc774 \ub4e4\uc5b4\uac00 \ubc84\ub838\ub2e4. \uc774\uc720\ub294 \ud2b9\uc218\ubb38\uc790 $\ub294 Powershell \uc5d0\uc11c \ubcc0\uc218 \uc55e\uc5d0 \ubd99\ud78c\ub2e4. \uadf8\ub7f0\ub370 \uc774\uac83\uc740 &#8220;(\uc30d\ub530\uc634\ud45c)\ub85c \uac10\uc2fc \ubb38\uc790\uc5f4\uc5d0\uc11c\ub3c4 \uc720\ud6a8\ud558\ub2e4. \ubb38\uc790\uc5f4\uc5d0\uc11c Powershell \ud2b9\uc218\ubb38\uc790\ub97c \uc77c\ubc18 \ubb38\uc790\ub85c \uc778\uc2dd \uc2dc\ud0a4\uae30 \uc704\ud574\uc11c\ub294 2\uac00\uc9c0 \ubc29\ubc95\uc774 \uc788\ub2e4.<\/p>\n<li>&#8220;(\uc30d\ub530\uc634\ud45c) \ub300\uc2e0 &#8216;(\ub530\uc634\ud45c)\ub85c \uac10\uc2f8\uae30<\/li>\n<li>\ud2b9\uc218\ubb38\uc790 \uc55e\uc5d0 escape \ubb38\uc790\uc778 `(GRAVE ACCENT)\ub97c \ubd99\ud788\uae30 (\ud55c\uae00 \uc774\ub984\uc744 \uc798 \ubaa8\ub974\uaca0\uace0 \ud0a4\ubcf4\ub4dc \uc0c1\uc5d0\uc11c 1(!) \ud0a4 \uc67c\ucabd\uc5d0 \uc788\ub294 \uac83)<\/li>\n<p>\uadf8\ub7ec\uba74 \uc774\uc81c \ub2e4\uc74c \uc608\ub97c \ubcf4\uc790.<\/p>\n<p><strong>\ub098\uc05c \uc608<\/strong><\/p>\n<pre class=\"lang:ps nums:false wrap:true decode:true\">\n$text -replace \"(w+)-(w+)\", \"$2-$1\" \t \t# \" \uc548\uc5d0\uc11c\ub294 $ \ub294 \ubb38\uc790\uac00 \uc544\ub2c8\ub2e4.\n$text -replace \"(w+)-(w+)\", '`$2-`$1' \t# ' \uc548\uc5d0\uc11c\ub294 `\ub85c $\ub97c escape \ud560 \ud544\uc694 \uc5c6\ub2e4.\n<\/pre>\n<p><strong>\uc88b\uc740 \uc608<\/strong><\/p>\n<pre class=\"lang:ps nums:false wrap:true decode:true\">\n$text -replace \"(w+)-(w+)\", '$2-$1' \t \t# ' \ub97c \uc774\uc6a9\ud574 $\uac00 \uc77c\ubc18 \ubb38\uc790\ub85c \ucde8\uae09\ub428\n$text -replace \"(w+)-(w+)\", \"`$2-`$1\" \t# \" \uc548\uc5d0\uc11c `\ub85c $\ub97c \uc801\uc808\ud788 escape \ud558\uc600\ub2e4.\n<\/pre>\n<p>\uc62c\ubc14\ub974\uac8c \uce58\ud658 \ub418\uba74 \ub2e4\uc74c\uacfc \uac19\uc740 \uacb0\uacfc\ub97c \uc5bb\uc744 \uc218 \uc788\ub2e4.<\/p>\n<pre class=\"lang:default wrap:true nums:false decode:true\">\nWindows PowerShell is a based-task line-command shell and scripting language designed especially for system administration.\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Regular Expression with Powershell<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":""},"categories":[27],"tags":[33,34,35,36,32,112,133,190,481,212,213,338],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/pXV5a-go","_links":{"self":[{"href":"https:\/\/talsu.net\/index.php?rest_route=\/wp\/v2\/posts\/1016"}],"collection":[{"href":"https:\/\/talsu.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/talsu.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/talsu.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/talsu.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1016"}],"version-history":[{"count":0,"href":"https:\/\/talsu.net\/index.php?rest_route=\/wp\/v2\/posts\/1016\/revisions"}],"wp:attachment":[{"href":"https:\/\/talsu.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1016"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/talsu.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1016"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/talsu.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1016"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}