<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>정규표현식 | JDW Blog</title><link>https://www.jdwblog.com/tags/%EC%A0%95%EA%B7%9C%ED%91%9C%ED%98%84%EC%8B%9D/</link><atom:link href="https://www.jdwblog.com/tags/%EC%A0%95%EA%B7%9C%ED%91%9C%ED%98%84%EC%8B%9D/index.xml" rel="self" type="application/rss+xml"/><description>정규표현식</description><generator>HugoBlox Kit (https://hugoblox.com)</generator><language>ko-KR</language><lastBuildDate>Sat, 03 Oct 2020 00:00:00 +0000</lastBuildDate><image><url>https://www.jdwblog.com/media/icon_hu_c964a8c093305932.png</url><title>정규표현식</title><link>https://www.jdwblog.com/tags/%EC%A0%95%EA%B7%9C%ED%91%9C%ED%98%84%EC%8B%9D/</link></image><item><title>[R] stringr 패키지를 사용한 정규표현식</title><link>https://www.jdwblog.com/post/regexwithstringr/</link><pubDate>Sat, 03 Oct 2020 00:00:00 +0000</pubDate><guid>https://www.jdwblog.com/post/regexwithstringr/</guid><description>&lt;img src="images/stringr_logo.png" alt="" width="50%"/&gt;
&lt;p&gt; 이전 장에서 R에서 사용되는 정규표현식에 대해 알아보았었는데요. 오늘은 정규표현식을 텍스트 데이터를 처리할때 사용하는 패키지인 &lt;strong&gt;&lt;code&gt;stringr&lt;/code&gt;&lt;/strong&gt; 과 함께 사용하는 방법에 대해 알아보도록 하겠습니다.&lt;/p&gt;
&lt;h1 id="stringr"&gt;stringr&lt;/h1&gt;
&lt;p&gt;  &lt;strong&gt;&lt;code&gt;stringr&lt;/code&gt;&lt;/strong&gt; 패키지는 Rstudio의 Hadley Wickham이 개발한 패키지입니다. &lt;strong&gt;&lt;code&gt;dplyr&lt;/code&gt;&lt;/strong&gt; , &lt;strong&gt;&lt;code&gt;ggplot2&lt;/code&gt;&lt;/strong&gt; 등과 같이 데이터를 깔끔한(tidy) 방식으로 처리하는것을 지향하는 &lt;strong&gt;&lt;code&gt;tidyverse&lt;/code&gt;&lt;/strong&gt; 패키지군에 속해 있으며, 그 중 &lt;strong&gt;&lt;code&gt;stringr&lt;/code&gt;&lt;/strong&gt; 은 문자열 처리에 특화된 패키지입니다. &amp;lsquo;string&amp;rsquo;의 준말인 &lt;code&gt;str_&lt;/code&gt;이 함수 머릿말에 항상 등장하는 것이 특징입니다.&lt;/p&gt;
&lt;p&gt;  &lt;strong&gt;&lt;code&gt;stringr&lt;/code&gt;&lt;/strong&gt; 패키지의 주요 기능을 아래와 같이 분류하였고 각 경우에 맞는 상황을 가정하여 알아보도록 하겠습니다.&lt;/p&gt;
&lt;p&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;h2 id="예제-문장"&gt;예제 문장&lt;/h2&gt;
&lt;p&gt; 연습용으로 사용할 문장은 stringr 패키지에 내장되어 있는 &lt;code&gt;sentence&lt;/code&gt; 데이터를 사용하겠습니다. &lt;code&gt;sentence&lt;/code&gt;는 총 1000문장으로 구성되어 있는데, 문장 전체를 사용할 필요가 없으므로 10문장 정도만을 추려서 사용하도록 하겠습니다.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;regex_sentences&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;-&lt;/span&gt; &lt;span class="n"&gt;stringr&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;sentences[1&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="m"&gt;10&lt;/span&gt;&lt;span class="n"&gt;]&lt;/span&gt; &lt;span class="c1"&gt;# 예제용 문장 생성&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;regex_sentences&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1] &amp;#34;The birch canoe slid on the smooth planks.&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [2] &amp;#34;Glue the sheet to the dark blue background.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [3] &amp;#34;It&amp;#39;s easy to tell the depth of a well.&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [4] &amp;#34;These days a chicken leg is a rare dish.&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [5] &amp;#34;Rice is often served in round bowls.&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [6] &amp;#34;The juice of lemons makes fine punch.&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [7] &amp;#34;The box was thrown beside the parked truck.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [8] &amp;#34;The hogs were fed chopped corn and garbage.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [9] &amp;#34;Four hours of steady work faced us.&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [10] &amp;#34;Large size in stockings is hard to sell.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="일치"&gt;일치&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt; &lt;code&gt;str_detect()&lt;/code&gt;함수는 특정 문자 혹은 패턴(정규표현식)과 일치하는 경우를 찾을때 사용하며, 실행 결과로서 boolean(참, 거짓)을 반환합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;str_detect&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;regex_sentences&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;&amp;#39;[aeiou]&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# 알파벳 모음 &amp;#39;a&amp;#39; or &amp;#39;e&amp;#39; or &amp;#39;i&amp;#39; or &amp;#39;o&amp;#39; or &amp;#39;u&amp;#39;가 있을 경우 TRUE&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;str_detect&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;regex_sentences&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;&amp;#39;[easy]&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# 알파벳 &amp;#39;e&amp;#39; or &amp;#39;a&amp;#39; or &amp;#39;s&amp;#39; or &amp;#39;y&amp;#39;가 있을 경우 TRUE &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;str_detect&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;regex_sentences&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;&amp;#39;(easy)&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# 알파벳 &amp;#39;easy&amp;#39;가 있을 경우 TRUE &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1] FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt; &lt;code&gt;str_extract()&lt;/code&gt;함수는 특정 문자 혹은 패턴(정규표현식)과 일치하는 경우, 그것을 반환합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;str_extract&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;regex_sentences&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;&amp;#39;[aeiou]&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# &amp;#39;a&amp;#39; or &amp;#39;e&amp;#39; or &amp;#39;i&amp;#39; or &amp;#39;o&amp;#39; or &amp;#39;u&amp;#39; 글자가 존재하면 그것을 반환 &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1] &amp;#34;e&amp;#34; &amp;#34;u&amp;#34; &amp;#34;e&amp;#34; &amp;#34;e&amp;#34; &amp;#34;i&amp;#34; &amp;#34;e&amp;#34; &amp;#34;e&amp;#34; &amp;#34;e&amp;#34; &amp;#34;o&amp;#34; &amp;#34;a&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;str_extract&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;regex_sentences&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;&amp;#39;[:punct:]&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# 문장부호가 존재하면 그것을 반환 &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1] &amp;#34;.&amp;#34; &amp;#34;.&amp;#34; &amp;#34;&amp;#39;&amp;#34; &amp;#34;.&amp;#34; &amp;#34;.&amp;#34; &amp;#34;.&amp;#34; &amp;#34;.&amp;#34; &amp;#34;.&amp;#34; &amp;#34;.&amp;#34; &amp;#34;.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt; 함수는 조건에 일치하는 결과를 반환하였는데요. 자세히 보면 조건에 일치한 것이 여러개 있음에도 불구하고 오직 최초 값만을 반환하는 것을 볼 수 있습니다. 그렇다면 조건에 일치하는 모든 값을 찾고자 할 땐 어떻게 해야할까요? 바로 &lt;code&gt;str_extract_all()&lt;/code&gt; 함수를 사용하면 됩니다. &lt;strong&gt;&lt;code&gt;stringr&lt;/code&gt;&lt;/strong&gt; 패키지 함수 중 몇몇의 함수는 함수 말미에 &lt;code&gt;_all&lt;/code&gt;이 붙는 함수들이 있습니다. 이들 함수들은 조건에 맞는 모든 값을 반환하는 특징이 있습니다.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;str_extract_all&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;regex_sentences&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;&amp;#39;[aeiou]&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [[1]]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1] &amp;#34;e&amp;#34; &amp;#34;i&amp;#34; &amp;#34;a&amp;#34; &amp;#34;o&amp;#34; &amp;#34;e&amp;#34; &amp;#34;i&amp;#34; &amp;#34;o&amp;#34; &amp;#34;e&amp;#34; &amp;#34;o&amp;#34; &amp;#34;o&amp;#34; &amp;#34;a&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [[2]]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1] &amp;#34;u&amp;#34; &amp;#34;e&amp;#34; &amp;#34;e&amp;#34; &amp;#34;e&amp;#34; &amp;#34;e&amp;#34; &amp;#34;o&amp;#34; &amp;#34;e&amp;#34; &amp;#34;a&amp;#34; &amp;#34;u&amp;#34; &amp;#34;e&amp;#34; &amp;#34;a&amp;#34; &amp;#34;o&amp;#34; &amp;#34;u&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [[3]]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1] &amp;#34;e&amp;#34; &amp;#34;a&amp;#34; &amp;#34;o&amp;#34; &amp;#34;e&amp;#34; &amp;#34;e&amp;#34; &amp;#34;e&amp;#34; &amp;#34;o&amp;#34; &amp;#34;a&amp;#34; &amp;#34;e&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [[4]]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1] &amp;#34;e&amp;#34; &amp;#34;e&amp;#34; &amp;#34;a&amp;#34; &amp;#34;a&amp;#34; &amp;#34;i&amp;#34; &amp;#34;e&amp;#34; &amp;#34;e&amp;#34; &amp;#34;i&amp;#34; &amp;#34;a&amp;#34; &amp;#34;a&amp;#34; &amp;#34;e&amp;#34; &amp;#34;i&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [[5]]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1] &amp;#34;i&amp;#34; &amp;#34;e&amp;#34; &amp;#34;i&amp;#34; &amp;#34;o&amp;#34; &amp;#34;e&amp;#34; &amp;#34;e&amp;#34; &amp;#34;e&amp;#34; &amp;#34;i&amp;#34; &amp;#34;o&amp;#34; &amp;#34;u&amp;#34; &amp;#34;o&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [[6]]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1] &amp;#34;e&amp;#34; &amp;#34;u&amp;#34; &amp;#34;i&amp;#34; &amp;#34;e&amp;#34; &amp;#34;o&amp;#34; &amp;#34;e&amp;#34; &amp;#34;o&amp;#34; &amp;#34;a&amp;#34; &amp;#34;e&amp;#34; &amp;#34;i&amp;#34; &amp;#34;e&amp;#34; &amp;#34;u&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [[7]]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1] &amp;#34;e&amp;#34; &amp;#34;o&amp;#34; &amp;#34;a&amp;#34; &amp;#34;o&amp;#34; &amp;#34;e&amp;#34; &amp;#34;i&amp;#34; &amp;#34;e&amp;#34; &amp;#34;e&amp;#34; &amp;#34;a&amp;#34; &amp;#34;e&amp;#34; &amp;#34;u&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [[8]]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1] &amp;#34;e&amp;#34; &amp;#34;o&amp;#34; &amp;#34;e&amp;#34; &amp;#34;e&amp;#34; &amp;#34;e&amp;#34; &amp;#34;o&amp;#34; &amp;#34;e&amp;#34; &amp;#34;o&amp;#34; &amp;#34;a&amp;#34; &amp;#34;a&amp;#34; &amp;#34;a&amp;#34; &amp;#34;e&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [[9]]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1] &amp;#34;o&amp;#34; &amp;#34;u&amp;#34; &amp;#34;o&amp;#34; &amp;#34;u&amp;#34; &amp;#34;o&amp;#34; &amp;#34;e&amp;#34; &amp;#34;a&amp;#34; &amp;#34;o&amp;#34; &amp;#34;a&amp;#34; &amp;#34;e&amp;#34; &amp;#34;u&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [[10]]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1] &amp;#34;a&amp;#34; &amp;#34;e&amp;#34; &amp;#34;i&amp;#34; &amp;#34;e&amp;#34; &amp;#34;i&amp;#34; &amp;#34;o&amp;#34; &amp;#34;i&amp;#34; &amp;#34;i&amp;#34; &amp;#34;a&amp;#34; &amp;#34;o&amp;#34; &amp;#34;e&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;str_extract_all&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;regex_sentences&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;&amp;#39;[:punct:]&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [[1]]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1] &amp;#34;.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [[2]]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1] &amp;#34;.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [[3]]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1] &amp;#34;&amp;#39;&amp;#34; &amp;#34;.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [[4]]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1] &amp;#34;.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [[5]]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1] &amp;#34;.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [[6]]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1] &amp;#34;.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [[7]]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1] &amp;#34;.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [[8]]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1] &amp;#34;.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [[9]]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1] &amp;#34;.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [[10]]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1] &amp;#34;.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt; &lt;code&gt;str_extract_all()&lt;/code&gt; 함수의 결과, 조건에 부합하는 모든 값이 list 형으로 반환된 것을 볼 수 있습니다.&lt;/p&gt;
&lt;h3 id="카운팅"&gt;카운팅&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt; &lt;code&gt;str_count()&lt;/code&gt;함수는 특정 문자 혹은 패턴(정규표현식)과 일치하는 경우를 계산합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;str_count&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;regex_sentences&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;&amp;#39;[aeiou]&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# &amp;#39;a&amp;#39; or &amp;#39;e&amp;#39; or &amp;#39;i&amp;#39; or &amp;#39;o&amp;#39; or &amp;#39;u&amp;#39; 문자의 개수를 반환 &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1] 11 13 9 12 11 12 11 12 11 11&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;str_count&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;regex_sentences&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;&amp;#39;^(The)&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# 시작이 &amp;#39;The&amp;#39;인 경우를 셈 &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1] 1 0 0 1 0 1 1 1 0 0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="포함"&gt;포함&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt; &lt;code&gt;str_subset()&lt;/code&gt;함수는 특정 문자 혹은 패턴(정규표현식)이 포함된 경우를 반환합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;str_subset&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;regex_sentences&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;&amp;#39;[aeiou]&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# &amp;#39;a&amp;#39; or &amp;#39;e&amp;#39; or &amp;#39;i&amp;#39; or &amp;#39;o&amp;#39; or &amp;#39;u&amp;#39; 문자가 포함된 경우를 반환 &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1] &amp;#34;The birch canoe slid on the smooth planks.&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [2] &amp;#34;Glue the sheet to the dark blue background.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [3] &amp;#34;It&amp;#39;s easy to tell the depth of a well.&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [4] &amp;#34;These days a chicken leg is a rare dish.&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [5] &amp;#34;Rice is often served in round bowls.&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [6] &amp;#34;The juice of lemons makes fine punch.&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [7] &amp;#34;The box was thrown beside the parked truck.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [8] &amp;#34;The hogs were fed chopped corn and garbage.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [9] &amp;#34;Four hours of steady work faced us.&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [10] &amp;#34;Large size in stockings is hard to sell.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;str_subset&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;regex_sentences&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;&amp;#39;^(The)&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# 시작이 &amp;#39;The&amp;#39;인 문장을 반환&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1] &amp;#34;The birch canoe slid on the smooth planks.&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [2] &amp;#34;These days a chicken leg is a rare dish.&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [3] &amp;#34;The juice of lemons makes fine punch.&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [4] &amp;#34;The box was thrown beside the parked truck.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [5] &amp;#34;The hogs were fed chopped corn and garbage.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;str_subset&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;regex_sentences&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;&amp;#39;p[:alpha:]{1,}\\.$&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# &amp;#39;p&amp;#39;뒤에 알파벳이 한번 이상 나오면서 마침표로 끝나는 경우 &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1] &amp;#34;The birch canoe slid on the smooth planks.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [2] &amp;#34;The juice of lemons makes fine punch.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="위치"&gt;위치&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt; &lt;code&gt;str_locate()&lt;/code&gt;함수는 특정 문자 혹은 패턴(정규표현식)에 맞는 경우의 시작 지점과 끝 지점을 반환합니다. R에 기본적으로 내장되어 있는 영어 소문자 데이터인 &lt;code&gt;letters&lt;/code&gt;를 통해 알아보겠습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kc"&gt;letters&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1] &amp;#34;a&amp;#34; &amp;#34;b&amp;#34; &amp;#34;c&amp;#34; &amp;#34;d&amp;#34; &amp;#34;e&amp;#34; &amp;#34;f&amp;#34; &amp;#34;g&amp;#34; &amp;#34;h&amp;#34; &amp;#34;i&amp;#34; &amp;#34;j&amp;#34; &amp;#34;k&amp;#34; &amp;#34;l&amp;#34; &amp;#34;m&amp;#34; &amp;#34;n&amp;#34; &amp;#34;o&amp;#34; &amp;#34;p&amp;#34; &amp;#34;q&amp;#34; &amp;#34;r&amp;#34; &amp;#34;s&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [20] &amp;#34;t&amp;#34; &amp;#34;u&amp;#34; &amp;#34;v&amp;#34; &amp;#34;w&amp;#34; &amp;#34;x&amp;#34; &amp;#34;y&amp;#34; &amp;#34;z&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt; 패턴의 위치를 찾기 위해선 하나로 묶인 데이터가 필요하므로 &lt;code&gt;str_c()&lt;/code&gt; 함수를 사용하여 하나의 벡터로 묶었습니다. (&lt;code&gt;str_c()&lt;/code&gt;함수는 __&lt;code&gt;stringr&lt;/code&gt;__패키지의 문자를 결합하는 함수. R의 내장함수인 &lt;code&gt;paste()&lt;/code&gt;와 동일하게 동작)&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kc"&gt;letters&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;-&lt;/span&gt; &lt;span class="nf"&gt;str_c&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kc"&gt;letters&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;collapse&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kc"&gt;letters&lt;/span&gt; &lt;span class="c1"&gt;# 하나의 벡터값으로 변환 &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1] &amp;#34;abcdefghijklmnopqrstuvwxyz&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;str_locate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kc"&gt;letters&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;&amp;#39;[a-z]+&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# &amp;#39;a&amp;#39;부터 &amp;#39;z&amp;#39; 까지의 문자가 한개 이상 나오는 경우의 시작과 끝을 반환 &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; start end&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1,] 1 26&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;str_locate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kc"&gt;letters&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;&amp;#39;^[a][a-z]+[z]$&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# 시작이 &amp;#39;a&amp;#39;이며, 바로 뒤에 &amp;#39;a&amp;#39; 부터 &amp;#39;z&amp;#39;까지의 문자 중 하나가 한번 이상 나오며, 끝이 &amp;#39;z&amp;#39;인 경우의 시작 지점과 끝 지점을 반환.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; start end&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1,] 1 26&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;str_locate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kc"&gt;letters&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;&amp;#39;^[a-z][a-z]+$&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# 시작이 &amp;#39;a&amp;#39; 부터 &amp;#39;z&amp;#39; 까지의 문자 중 하나이며, 끝이 &amp;#39;a&amp;#39; 부터 &amp;#39;z&amp;#39; 까지의 문자 중 하나인 경우의 시작 지점과 끝 지점.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; start end&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1,] 1 26&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;str_locate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kc"&gt;letters&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;&amp;#39;(abcde)&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# &amp;#39;abcde&amp;#39;의 시작 지점과 끝 지점을 반환 &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; start end&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1,] 1 5&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;str_locate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kc"&gt;letters&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;&amp;#39;(xyz)&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# &amp;#39;xyz&amp;#39;의 시작 지점과 끝 지점을 반환 &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; start end&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1,] 24 26&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt; &lt;code&gt;str_locate_all()&lt;/code&gt;함수를 통해 조건에 맞는 모든 값의 위치를 추출할 수 있습니다.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;str_locate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kc"&gt;letters&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;&amp;#39;[aeiou][^aeiou]+&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# &amp;#39;a&amp;#39; or &amp;#39;e&amp;#39; or &amp;#39;i&amp;#39; or &amp;#39;o&amp;#39; or &amp;#39;u&amp;#39;문자 뒤에 &amp;#39;a&amp;#39; or &amp;#39;e&amp;#39; or &amp;#39;i&amp;#39; or &amp;#39;o&amp;#39; or &amp;#39;u&amp;#39; 문자가 아닌 문자가 하나 이상 나오는 최초 경우의 시작 지점과 끝 지점을 반환 &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; start end&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1,] 1 4&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;str_locate_all&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kc"&gt;letters&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;&amp;#39;[aeiou][^aeiou]+&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# &amp;#39;a&amp;#39; or &amp;#39;e&amp;#39; or &amp;#39;i&amp;#39; or &amp;#39;o&amp;#39; or &amp;#39;u&amp;#39;문자 뒤에 &amp;#39;a&amp;#39; or &amp;#39;e&amp;#39; or &amp;#39;i&amp;#39; or &amp;#39;o&amp;#39; or &amp;#39;u&amp;#39; 문자가 아닌 문자가 하나 이상 나오는 모든 경우의 시작 지점과 끝 지점을 반환 &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [[1]]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; start end&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1,] 1 4&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [2,] 5 8&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [3,] 9 14&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [4,] 15 20&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [5,] 21 26&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="바꾸기"&gt;바꾸기&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt; &lt;code&gt;str_replace()&lt;/code&gt;는 특정 문자 혹은 패턴(정규표현식)에 맞는 경우를 새로운 문자로 바꾸는 함수입니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;str_replace&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;regex_sentences&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;&amp;#39;k&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;&amp;#39;K&amp;#39;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# 최초로 매칭되는 문자 k를 &amp;#39;K&amp;#39;로 변환 &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1] &amp;#34;The birch canoe slid on the smooth plan&amp;#39;K&amp;#39;s.&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [2] &amp;#34;Glue the sheet to the dar&amp;#39;K&amp;#39; blue background.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [3] &amp;#34;It&amp;#39;s easy to tell the depth of a well.&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [4] &amp;#34;These days a chic&amp;#39;K&amp;#39;en leg is a rare dish.&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [5] &amp;#34;Rice is often served in round bowls.&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [6] &amp;#34;The juice of lemons ma&amp;#39;K&amp;#39;es fine punch.&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [7] &amp;#34;The box was thrown beside the par&amp;#39;K&amp;#39;ed truck.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [8] &amp;#34;The hogs were fed chopped corn and garbage.&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [9] &amp;#34;Four hours of steady wor&amp;#39;K&amp;#39; faced us.&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [10] &amp;#34;Large size in stoc&amp;#39;K&amp;#39;ings is hard to sell.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;str_replace&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;regex_sentences&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;&amp;#39;\\.&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;&amp;#39;\\?&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# 최초로 매칭되는 마침표를 물음표로 변환 &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1] &amp;#34;The birch canoe slid on the smooth planks?&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [2] &amp;#34;Glue the sheet to the dark blue background?&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [3] &amp;#34;It&amp;#39;s easy to tell the depth of a well?&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [4] &amp;#34;These days a chicken leg is a rare dish?&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [5] &amp;#34;Rice is often served in round bowls?&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [6] &amp;#34;The juice of lemons makes fine punch?&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [7] &amp;#34;The box was thrown beside the parked truck?&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [8] &amp;#34;The hogs were fed chopped corn and garbage?&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [9] &amp;#34;Four hours of steady work faced us?&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [10] &amp;#34;Large size in stockings is hard to sell?&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt; 마찬가지로 &lt;code&gt;str_replace_all()&lt;/code&gt;함수를 통해 조건에 맞는 모든 값을 바꿀 수 있습니다.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;str_replace&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;regex_sentences&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;&amp;#39;[:alpha:]{1,}&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;&amp;#39;word&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# 최초로 매칭되는 알파뱃이 한개 이상인 경우를 &amp;#39;word&amp;#39;로 변환 &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1] &amp;#34;word birch canoe slid on the smooth planks.&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [2] &amp;#34;word the sheet to the dark blue background.&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [3] &amp;#34;word&amp;#39;s easy to tell the depth of a well.&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [4] &amp;#34;word days a chicken leg is a rare dish.&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [5] &amp;#34;word is often served in round bowls.&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [6] &amp;#34;word juice of lemons makes fine punch.&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [7] &amp;#34;word box was thrown beside the parked truck.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [8] &amp;#34;word hogs were fed chopped corn and garbage.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [9] &amp;#34;word hours of steady work faced us.&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [10] &amp;#34;word size in stockings is hard to sell.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;str_replace_all&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;regex_sentences&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;&amp;#39;[:alpha:]{1,}&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;&amp;#39;word&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# 알파뱃이 한개 이상인 모든 값을 &amp;#39;word&amp;#39;라는 단어로 변환 &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1] &amp;#34;word word word word word word word word.&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [2] &amp;#34;word word word word word word word word.&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [3] &amp;#34;word&amp;#39;word word word word word word word word word.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [4] &amp;#34;word word word word word word word word word.&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [5] &amp;#34;word word word word word word word.&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [6] &amp;#34;word word word word word word word.&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [7] &amp;#34;word word word word word word word word.&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [8] &amp;#34;word word word word word word word word.&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [9] &amp;#34;word word word word word word word.&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [10] &amp;#34;word word word word word word word word.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;str_replace&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;regex_sentences&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;&amp;#39;[:space:]&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# 최초로 매칭되는 띄어쓰기를 공백으로 변환 &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1] &amp;#34;Thebirch canoe slid on the smooth planks.&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [2] &amp;#34;Gluethe sheet to the dark blue background.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [3] &amp;#34;It&amp;#39;seasy to tell the depth of a well.&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [4] &amp;#34;Thesedays a chicken leg is a rare dish.&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [5] &amp;#34;Riceis often served in round bowls.&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [6] &amp;#34;Thejuice of lemons makes fine punch.&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [7] &amp;#34;Thebox was thrown beside the parked truck.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [8] &amp;#34;Thehogs were fed chopped corn and garbage.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [9] &amp;#34;Fourhours of steady work faced us.&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [10] &amp;#34;Largesize in stockings is hard to sell.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;str_replace_all&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;regex_sentences&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;&amp;#39;[:space:]&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# 매칭되는 모든 띄어쓰기를 공백으로 변환 &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1] &amp;#34;Thebirchcanoeslidonthesmoothplanks.&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [2] &amp;#34;Gluethesheettothedarkbluebackground.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [3] &amp;#34;It&amp;#39;seasytotellthedepthofawell.&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [4] &amp;#34;Thesedaysachickenlegisararedish.&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [5] &amp;#34;Riceisoftenservedinroundbowls.&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [6] &amp;#34;Thejuiceoflemonsmakesfinepunch.&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [7] &amp;#34;Theboxwasthrownbesidetheparkedtruck.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [8] &amp;#34;Thehogswerefedchoppedcornandgarbage.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [9] &amp;#34;Fourhoursofsteadyworkfacedus.&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [10] &amp;#34;Largesizeinstockingsishardtosell.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="나누기"&gt;나누기&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt; &lt;code&gt;str_split()&lt;/code&gt;는 특정 문자 혹은 패턴(정규표현식)을 기준으로 값을 나누는 함수입니다. 이때 기준이된 문자 혹은 패턴은 제거됩니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;str_split&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;regex_sentences&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;&amp;#39;[:upper:]&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# 대문자를 기준으로 분절 &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [[1]]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1] &amp;#34;&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [2] &amp;#34;he birch canoe slid on the smooth planks.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [[2]]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1] &amp;#34;&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [2] &amp;#34;lue the sheet to the dark blue background.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [[3]]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1] &amp;#34;&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [2] &amp;#34;t&amp;#39;s easy to tell the depth of a well.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [[4]]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1] &amp;#34;&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [2] &amp;#34;hese days a chicken leg is a rare dish.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [[5]]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1] &amp;#34;&amp;#34; &amp;#34;ice is often served in round bowls.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [[6]]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1] &amp;#34;&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [2] &amp;#34;he juice of lemons makes fine punch.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [[7]]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1] &amp;#34;&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [2] &amp;#34;he box was thrown beside the parked truck.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [[8]]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1] &amp;#34;&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [2] &amp;#34;he hogs were fed chopped corn and garbage.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [[9]]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1] &amp;#34;&amp;#34; &amp;#34;our hours of steady work faced us.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [[10]]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1] &amp;#34;&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [2] &amp;#34;arge size in stockings is hard to sell.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;str_split&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;regex_sentences&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;&amp;#39;\\b&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# 문자의 바운더리를 기준으로 분절 &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [[1]]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1] &amp;#34;&amp;#34; &amp;#34;The&amp;#34; &amp;#34; &amp;#34; &amp;#34;birch&amp;#34; &amp;#34; &amp;#34; &amp;#34;canoe&amp;#34; &amp;#34; &amp;#34; &amp;#34;slid&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [9] &amp;#34; &amp;#34; &amp;#34;on&amp;#34; &amp;#34; &amp;#34; &amp;#34;the&amp;#34; &amp;#34; &amp;#34; &amp;#34;smooth&amp;#34; &amp;#34; &amp;#34; &amp;#34;planks&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [17] &amp;#34;.&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [[2]]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1] &amp;#34;&amp;#34; &amp;#34;Glue&amp;#34; &amp;#34; &amp;#34; &amp;#34;the&amp;#34; &amp;#34; &amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [6] &amp;#34;sheet&amp;#34; &amp;#34; &amp;#34; &amp;#34;to&amp;#34; &amp;#34; &amp;#34; &amp;#34;the&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [11] &amp;#34; &amp;#34; &amp;#34;dark&amp;#34; &amp;#34; &amp;#34; &amp;#34;blue&amp;#34; &amp;#34; &amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [16] &amp;#34;background&amp;#34; &amp;#34;.&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [[3]]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1] &amp;#34;&amp;#34; &amp;#34;It&amp;#34; &amp;#34;&amp;#39;&amp;#34; &amp;#34;s&amp;#34; &amp;#34; &amp;#34; &amp;#34;easy&amp;#34; &amp;#34; &amp;#34; &amp;#34;to&amp;#34; &amp;#34; &amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [10] &amp;#34;tell&amp;#34; &amp;#34; &amp;#34; &amp;#34;the&amp;#34; &amp;#34; &amp;#34; &amp;#34;depth&amp;#34; &amp;#34; &amp;#34; &amp;#34;of&amp;#34; &amp;#34; &amp;#34; &amp;#34;a&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [19] &amp;#34; &amp;#34; &amp;#34;well&amp;#34; &amp;#34;.&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [[4]]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1] &amp;#34;&amp;#34; &amp;#34;These&amp;#34; &amp;#34; &amp;#34; &amp;#34;days&amp;#34; &amp;#34; &amp;#34; &amp;#34;a&amp;#34; &amp;#34; &amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [8] &amp;#34;chicken&amp;#34; &amp;#34; &amp;#34; &amp;#34;leg&amp;#34; &amp;#34; &amp;#34; &amp;#34;is&amp;#34; &amp;#34; &amp;#34; &amp;#34;a&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [15] &amp;#34; &amp;#34; &amp;#34;rare&amp;#34; &amp;#34; &amp;#34; &amp;#34;dish&amp;#34; &amp;#34;.&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [[5]]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1] &amp;#34;&amp;#34; &amp;#34;Rice&amp;#34; &amp;#34; &amp;#34; &amp;#34;is&amp;#34; &amp;#34; &amp;#34; &amp;#34;often&amp;#34; &amp;#34; &amp;#34; &amp;#34;served&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [9] &amp;#34; &amp;#34; &amp;#34;in&amp;#34; &amp;#34; &amp;#34; &amp;#34;round&amp;#34; &amp;#34; &amp;#34; &amp;#34;bowls&amp;#34; &amp;#34;.&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [[6]]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1] &amp;#34;&amp;#34; &amp;#34;The&amp;#34; &amp;#34; &amp;#34; &amp;#34;juice&amp;#34; &amp;#34; &amp;#34; &amp;#34;of&amp;#34; &amp;#34; &amp;#34; &amp;#34;lemons&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [9] &amp;#34; &amp;#34; &amp;#34;makes&amp;#34; &amp;#34; &amp;#34; &amp;#34;fine&amp;#34; &amp;#34; &amp;#34; &amp;#34;punch&amp;#34; &amp;#34;.&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [[7]]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1] &amp;#34;&amp;#34; &amp;#34;The&amp;#34; &amp;#34; &amp;#34; &amp;#34;box&amp;#34; &amp;#34; &amp;#34; &amp;#34;was&amp;#34; &amp;#34; &amp;#34; &amp;#34;thrown&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [9] &amp;#34; &amp;#34; &amp;#34;beside&amp;#34; &amp;#34; &amp;#34; &amp;#34;the&amp;#34; &amp;#34; &amp;#34; &amp;#34;parked&amp;#34; &amp;#34; &amp;#34; &amp;#34;truck&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [17] &amp;#34;.&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [[8]]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1] &amp;#34;&amp;#34; &amp;#34;The&amp;#34; &amp;#34; &amp;#34; &amp;#34;hogs&amp;#34; &amp;#34; &amp;#34; &amp;#34;were&amp;#34; &amp;#34; &amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [8] &amp;#34;fed&amp;#34; &amp;#34; &amp;#34; &amp;#34;chopped&amp;#34; &amp;#34; &amp;#34; &amp;#34;corn&amp;#34; &amp;#34; &amp;#34; &amp;#34;and&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [15] &amp;#34; &amp;#34; &amp;#34;garbage&amp;#34; &amp;#34;.&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [[9]]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1] &amp;#34;&amp;#34; &amp;#34;Four&amp;#34; &amp;#34; &amp;#34; &amp;#34;hours&amp;#34; &amp;#34; &amp;#34; &amp;#34;of&amp;#34; &amp;#34; &amp;#34; &amp;#34;steady&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [9] &amp;#34; &amp;#34; &amp;#34;work&amp;#34; &amp;#34; &amp;#34; &amp;#34;faced&amp;#34; &amp;#34; &amp;#34; &amp;#34;us&amp;#34; &amp;#34;.&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [[10]]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1] &amp;#34;&amp;#34; &amp;#34;Large&amp;#34; &amp;#34; &amp;#34; &amp;#34;size&amp;#34; &amp;#34; &amp;#34; &amp;#34;in&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [7] &amp;#34; &amp;#34; &amp;#34;stockings&amp;#34; &amp;#34; &amp;#34; &amp;#34;is&amp;#34; &amp;#34; &amp;#34; &amp;#34;hard&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [13] &amp;#34; &amp;#34; &amp;#34;to&amp;#34; &amp;#34; &amp;#34; &amp;#34;sell&amp;#34; &amp;#34;.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;str_split&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;regex_sentences&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;&amp;#39;\\s&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# 띄어쓰기를 기준으로 분절 &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [[1]]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1] &amp;#34;The&amp;#34; &amp;#34;birch&amp;#34; &amp;#34;canoe&amp;#34; &amp;#34;slid&amp;#34; &amp;#34;on&amp;#34; &amp;#34;the&amp;#34; &amp;#34;smooth&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [8] &amp;#34;planks.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [[2]]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1] &amp;#34;Glue&amp;#34; &amp;#34;the&amp;#34; &amp;#34;sheet&amp;#34; &amp;#34;to&amp;#34; &amp;#34;the&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [6] &amp;#34;dark&amp;#34; &amp;#34;blue&amp;#34; &amp;#34;background.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [[3]]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1] &amp;#34;It&amp;#39;s&amp;#34; &amp;#34;easy&amp;#34; &amp;#34;to&amp;#34; &amp;#34;tell&amp;#34; &amp;#34;the&amp;#34; &amp;#34;depth&amp;#34; &amp;#34;of&amp;#34; &amp;#34;a&amp;#34; &amp;#34;well.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [[4]]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1] &amp;#34;These&amp;#34; &amp;#34;days&amp;#34; &amp;#34;a&amp;#34; &amp;#34;chicken&amp;#34; &amp;#34;leg&amp;#34; &amp;#34;is&amp;#34; &amp;#34;a&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [8] &amp;#34;rare&amp;#34; &amp;#34;dish.&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [[5]]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1] &amp;#34;Rice&amp;#34; &amp;#34;is&amp;#34; &amp;#34;often&amp;#34; &amp;#34;served&amp;#34; &amp;#34;in&amp;#34; &amp;#34;round&amp;#34; &amp;#34;bowls.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [[6]]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1] &amp;#34;The&amp;#34; &amp;#34;juice&amp;#34; &amp;#34;of&amp;#34; &amp;#34;lemons&amp;#34; &amp;#34;makes&amp;#34; &amp;#34;fine&amp;#34; &amp;#34;punch.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [[7]]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1] &amp;#34;The&amp;#34; &amp;#34;box&amp;#34; &amp;#34;was&amp;#34; &amp;#34;thrown&amp;#34; &amp;#34;beside&amp;#34; &amp;#34;the&amp;#34; &amp;#34;parked&amp;#34; &amp;#34;truck.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [[8]]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1] &amp;#34;The&amp;#34; &amp;#34;hogs&amp;#34; &amp;#34;were&amp;#34; &amp;#34;fed&amp;#34; &amp;#34;chopped&amp;#34; &amp;#34;corn&amp;#34; &amp;#34;and&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [8] &amp;#34;garbage.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [[9]]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1] &amp;#34;Four&amp;#34; &amp;#34;hours&amp;#34; &amp;#34;of&amp;#34; &amp;#34;steady&amp;#34; &amp;#34;work&amp;#34; &amp;#34;faced&amp;#34; &amp;#34;us.&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [[10]]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [1] &amp;#34;Large&amp;#34; &amp;#34;size&amp;#34; &amp;#34;in&amp;#34; &amp;#34;stockings&amp;#34; &amp;#34;is&amp;#34; &amp;#34;hard&amp;#34; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#&amp;gt; [7] &amp;#34;to&amp;#34; &amp;#34;sell.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h1 id="참고자료"&gt;참고자료&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>[R] 정규표현식 활용한 텍스트 데이터 다루기</title><link>https://www.jdwblog.com/post/regex/</link><pubDate>Fri, 02 Oct 2020 00:00:00 +0000</pubDate><guid>https://www.jdwblog.com/post/regex/</guid><description>&lt;script src="index_files/htmlwidgets/htmlwidgets.js"&gt;&lt;/script&gt;
&lt;link href="index_files/str_view/str_view.css" rel="stylesheet" /&gt;
&lt;script src="index_files/str_view-binding/str_view.js"&gt;&lt;/script&gt;
&lt;script src="index_files/kePrint/kePrint.js"&gt;&lt;/script&gt;
&lt;link href="index_files/lightable/lightable.css" rel="stylesheet" /&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;&lt;img alt=""
src="https://www.jdwblog.com/post/regex/images/regular-expression.gif"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt; 문자형 데이터를 다루는데는 수 많은 기법들이 있습니다. R에서 제공하는 기본 함수들을 통해 처리하기도 하고, 텍스트처리에 특화된 패키지함수를 사용하여 원하는 처리를 할 수 있는데요. 오늘은 그 중에 텍스트데이터를 다루는데 효과적으로 사용되는 &lt;strong&gt;정규표현식&lt;/strong&gt;을 사용하는 법에 대해 알아보도록 하겠습니다.&lt;/p&gt;
&lt;h1 id="정규표현식"&gt;정규표현식&lt;/h1&gt;
&lt;p&gt; &lt;strong&gt;정규표현식&lt;/strong&gt;(regular expression)은 특정한 규칙을 가진 문자열의 집합을 표현하는데 사용하는 형식 언어입니다.
프로그래밍에서 조건문과 반복문을 통해 원하는 결과값을 도출해내는 것처럼, 텍스트데이터에서 조건과 패턴에 맞는 문자열을 찾거나 추출할때 정규식을 사용합니다. 정규표현식에는 특별한 의미를 지니고 있는 &lt;em&gt;메타문자&lt;/em&gt; 와 문자 그대로의 의미를 지닌 &lt;em&gt;일반문자&lt;/em&gt; 로 구성되어 있습니다.&lt;/p&gt;
&lt;h2 id="메타문자"&gt;메타문자&lt;/h2&gt;
&lt;p&gt; 메타문자는 정규표현식에서 특별한 의미를 갖는 문자 기호입니다. 키보드에서 알파벳과 숫자를 제외한 특수 기호중에서 미리 정의한 기능을 가진 기호들을 메타문자라고 합니다. ! + \ &amp;amp; ^ [] ~ 등의 문자들이 메타 문자이며 이들은 각각 부여받은 기능들이 있어 이를 조합하여 특정한 패턴을 정의하는 방식으로 사용됩니다.&lt;/p&gt;
&lt;p&gt; 이해를 돕기위해 예시와 함께 살펴보도록 하겠습니다.&lt;/p&gt;
&lt;h3 id="정규표현식-사용자-함수-생성"&gt;정규표현식 사용자 함수 생성&lt;/h3&gt;
&lt;p&gt;  R Studio의 &lt;strong&gt;&lt;code&gt;stringr&lt;/code&gt;&lt;/strong&gt; 패키지 Cheat Sheet에 좋은 예시함수가 있어서 이를 차용하였습니다. 정규표현식 조건에 맞는 문자는 음영처리되어 보여집니다.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;see&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;-&lt;/span&gt; &lt;span class="kr"&gt;function&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;rx&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="nf"&gt;str_view_all&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;abc ABC 123\t.!?\\(){}\n abcde aaa bacad .a.aa.aaa abbaab ababcbabcdcbabcde&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;rx&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="heading"&gt;“^”&lt;/h3&gt;
&lt;p&gt; &lt;strong&gt;^&lt;/strong&gt;(윗꺽쇠)는 문자열의 시작지점을 의미합니다.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;see&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;^&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# 문자열의 시작지점을 매칭 &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div id="htmlwidget-1" style="width:960px;height:100%;" class="str_view html-widget"&gt;&lt;/div&gt;
&lt;script type="application/json" data-for="htmlwidget-1"&gt;{"x":{"html":"&lt;ul&gt;\n &lt;li&gt;&lt;span class='match'&gt;&lt;\/span&gt;abc ABC 123\t.!?\\(){}\n abcde aaa bacad .a.aa.aaa abbaab ababcbabcdcbabcde&lt;\/li&gt;\n&lt;\/ul&gt;"},"evals":[],"jsHooks":[]}&lt;/script&gt;
&lt;h3 id="heading-1"&gt;“$”&lt;/h3&gt;
&lt;p&gt; &lt;strong&gt;$&lt;/strong&gt;(달러표시)는 문자열의 끝 또는 문서의 끝을 의미합니다.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;see&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;$&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# 문자열의 끝지점을 매칭 &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div id="htmlwidget-2" style="width:960px;height:100%;" class="str_view html-widget"&gt;&lt;/div&gt;
&lt;script type="application/json" data-for="htmlwidget-2"&gt;{"x":{"html":"&lt;ul&gt;\n &lt;li&gt;abc ABC 123\t.!?\\(){}\n abcde aaa bacad .a.aa.aaa abbaab ababcbabcdcbabcde&lt;span class='match'&gt;&lt;\/span&gt;&lt;\/li&gt;\n&lt;\/ul&gt;"},"evals":[],"jsHooks":[]}&lt;/script&gt;
&lt;h3 id="heading-2"&gt;“.”&lt;/h3&gt;
&lt;p&gt; &lt;strong&gt;.&lt;/strong&gt;(마침표)는 임의의 한 글자를 의미합니다.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;see&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;.&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# 임의의 글자를 매칭 &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div id="htmlwidget-3" style="width:960px;height:100%;" class="str_view html-widget"&gt;&lt;/div&gt;
&lt;script type="application/json" data-for="htmlwidget-3"&gt;{"x":{"html":"&lt;ul&gt;\n &lt;li&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;c&lt;\/span&gt;&lt;span class='match'&gt; &lt;\/span&gt;&lt;span class='match'&gt;A&lt;\/span&gt;&lt;span class='match'&gt;B&lt;\/span&gt;&lt;span class='match'&gt;C&lt;\/span&gt;&lt;span class='match'&gt; &lt;\/span&gt;&lt;span class='match'&gt;1&lt;\/span&gt;&lt;span class='match'&gt;2&lt;\/span&gt;&lt;span class='match'&gt;3&lt;\/span&gt;&lt;span class='match'&gt;\t&lt;\/span&gt;&lt;span class='match'&gt;.&lt;\/span&gt;&lt;span class='match'&gt;!&lt;\/span&gt;&lt;span class='match'&gt;?&lt;\/span&gt;&lt;span class='match'&gt;\\&lt;\/span&gt;&lt;span class='match'&gt;(&lt;\/span&gt;&lt;span class='match'&gt;)&lt;\/span&gt;&lt;span class='match'&gt;{&lt;\/span&gt;&lt;span class='match'&gt;}&lt;\/span&gt;\n&lt;span class='match'&gt; &lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;c&lt;\/span&gt;&lt;span class='match'&gt;d&lt;\/span&gt;&lt;span class='match'&gt;e&lt;\/span&gt;&lt;span class='match'&gt; &lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt; &lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;c&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;d&lt;\/span&gt;&lt;span class='match'&gt; &lt;\/span&gt;&lt;span class='match'&gt;.&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;.&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;.&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt; &lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt; &lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;c&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;c&lt;\/span&gt;&lt;span class='match'&gt;d&lt;\/span&gt;&lt;span class='match'&gt;c&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;c&lt;\/span&gt;&lt;span class='match'&gt;d&lt;\/span&gt;&lt;span class='match'&gt;e&lt;\/span&gt;&lt;\/li&gt;\n&lt;\/ul&gt;"},"evals":[],"jsHooks":[]}&lt;/script&gt;
&lt;p&gt; 다른 규칙없이 마침표만을 단독으로 사용하니 임의의 모든 글자가 선택되었습니다.&lt;/p&gt;
&lt;h3 id="heading-3"&gt;“?”&lt;/h3&gt;
&lt;p&gt;  &lt;strong&gt;?&lt;/strong&gt;(물음표)는 앞에 지정된 문자가 없거나 하나가 있음을 의미합니다.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;see&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;?&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;#&amp;gt; Error in stri_locate_all_regex(string, pattern, omit_no_match = TRUE, : Syntax error in regexp pattern. (U_REGEX_RULE_SYNTAX, context=`?`)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt; 물음표를 단독으로 사용하니 에러가 발생하였습니다. 이는 물음표 조건에 맞지 않기 때문입니다. ‘ab?c’(a와 c 사이에 b가 하나 있거나 아니면 아예 없거나) 조건으로 설정해보겠습니다.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;see&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;ab?c&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# &amp;#39;a&amp;#39;와 &amp;#39;c&amp;#39; 사이에 &amp;#39;b&amp;#39;가 하나 있거나 혹은 아예 없는 경우 (&amp;#39;abc&amp;#39; or &amp;#39;ac&amp;#39;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div id="htmlwidget-4" style="width:960px;height:100%;" class="str_view html-widget"&gt;&lt;/div&gt;
&lt;script type="application/json" data-for="htmlwidget-4"&gt;{"x":{"html":"&lt;ul&gt;\n &lt;li&gt;&lt;span class='match'&gt;abc&lt;\/span&gt; ABC 123\t.!?\\(){}\n &lt;span class='match'&gt;abc&lt;\/span&gt;de aaa b&lt;span class='match'&gt;ac&lt;\/span&gt;ad .a.aa.aaa abbaab ab&lt;span class='match'&gt;abc&lt;\/span&gt;b&lt;span class='match'&gt;abc&lt;\/span&gt;dcb&lt;span class='match'&gt;abc&lt;\/span&gt;de&lt;\/li&gt;\n&lt;\/ul&gt;"},"evals":[],"jsHooks":[]}&lt;/script&gt;
&lt;p&gt; 정규표현식은 대소문자를 구분하기 때문에 소문자 ’abc’와 ’ac’가 선택된 것을 볼 수 있습니다. 정규표현식의 규칙은 매우 엄격하게 지켜지기 때문에 정규표현을 사용할 때는 정확한 규칙을 만들어서 사용할 필요가 있습니다.&lt;/p&gt;
&lt;h3 id="heading-4"&gt;“|”&lt;/h3&gt;
&lt;p&gt; &lt;strong&gt;|&lt;/strong&gt;(또는)은 의미 그대로 또는을 의미합니다. &lt;strong&gt;|&lt;/strong&gt; 기호를 기준으로 좌우에 해당하는 문자들을 찾습니다.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;see&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;a|c&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# &amp;#39;a&amp;#39; 또는 &amp;#39;c&amp;#39;를 찾아냄&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div id="htmlwidget-5" style="width:960px;height:100%;" class="str_view html-widget"&gt;&lt;/div&gt;
&lt;script type="application/json" data-for="htmlwidget-5"&gt;{"x":{"html":"&lt;ul&gt;\n &lt;li&gt;&lt;span class='match'&gt;a&lt;\/span&gt;b&lt;span class='match'&gt;c&lt;\/span&gt; ABC 123\t.!?\\(){}\n &lt;span class='match'&gt;a&lt;\/span&gt;b&lt;span class='match'&gt;c&lt;\/span&gt;de &lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt; b&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;c&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;d .&lt;span class='match'&gt;a&lt;\/span&gt;.&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;.&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt; &lt;span class='match'&gt;a&lt;\/span&gt;bb&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;b &lt;span class='match'&gt;a&lt;\/span&gt;b&lt;span class='match'&gt;a&lt;\/span&gt;b&lt;span class='match'&gt;c&lt;\/span&gt;b&lt;span class='match'&gt;a&lt;\/span&gt;b&lt;span class='match'&gt;c&lt;\/span&gt;d&lt;span class='match'&gt;c&lt;\/span&gt;b&lt;span class='match'&gt;a&lt;\/span&gt;b&lt;span class='match'&gt;c&lt;\/span&gt;de&lt;\/li&gt;\n&lt;\/ul&gt;"},"evals":[],"jsHooks":[]}&lt;/script&gt;
&lt;h3 id="heading-5"&gt;“+”&lt;/h3&gt;
&lt;p&gt; &lt;strong&gt;+&lt;/strong&gt;(더하기)는 앞 문자가 &lt;strong&gt;1개이상&lt;/strong&gt;인 경우를 의미합니다. &lt;strong&gt;+&lt;/strong&gt; 기호의 좌측 문자를 기준으로 찾습니다.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;see&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;a+&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# &amp;#39;a&amp;#39; 글자가 한 개 이상 존재하는 경우 &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div id="htmlwidget-6" style="width:960px;height:100%;" class="str_view html-widget"&gt;&lt;/div&gt;
&lt;script type="application/json" data-for="htmlwidget-6"&gt;{"x":{"html":"&lt;ul&gt;\n &lt;li&gt;&lt;span class='match'&gt;a&lt;\/span&gt;bc ABC 123\t.!?\\(){}\n &lt;span class='match'&gt;a&lt;\/span&gt;bcde &lt;span class='match'&gt;aaa&lt;\/span&gt; b&lt;span class='match'&gt;a&lt;\/span&gt;c&lt;span class='match'&gt;a&lt;\/span&gt;d .&lt;span class='match'&gt;a&lt;\/span&gt;.&lt;span class='match'&gt;aa&lt;\/span&gt;.&lt;span class='match'&gt;aaa&lt;\/span&gt; &lt;span class='match'&gt;a&lt;\/span&gt;bb&lt;span class='match'&gt;aa&lt;\/span&gt;b &lt;span class='match'&gt;a&lt;\/span&gt;b&lt;span class='match'&gt;a&lt;\/span&gt;bcb&lt;span class='match'&gt;a&lt;\/span&gt;bcdcb&lt;span class='match'&gt;a&lt;\/span&gt;bcde&lt;\/li&gt;\n&lt;\/ul&gt;"},"evals":[],"jsHooks":[]}&lt;/script&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;see&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;ac+&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# &amp;#39;a&amp;#39; 다음에 &amp;#39;c&amp;#39;가 하나 이상 있음 &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div id="htmlwidget-7" style="width:960px;height:100%;" class="str_view html-widget"&gt;&lt;/div&gt;
&lt;script type="application/json" data-for="htmlwidget-7"&gt;{"x":{"html":"&lt;ul&gt;\n &lt;li&gt;abc ABC 123\t.!?\\(){}\n abcde aaa b&lt;span class='match'&gt;ac&lt;\/span&gt;ad .a.aa.aaa abbaab ababcbabcdcbabcde&lt;\/li&gt;\n&lt;\/ul&gt;"},"evals":[],"jsHooks":[]}&lt;/script&gt;
&lt;h3 id="heading-6"&gt;&amp;ldquo;*&amp;rdquo;&lt;/h3&gt;
&lt;p&gt;  &lt;strong&gt;*&lt;/strong&gt;(곱하기)는 앞 문자가 &lt;strong&gt;0개이상&lt;/strong&gt; 인 경우를 의미합니다.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;see&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;a*&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# &amp;#39;a&amp;#39; 글자를 반환 &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div id="htmlwidget-8" style="width:960px;height:100%;" class="str_view html-widget"&gt;&lt;/div&gt;
&lt;script type="application/json" data-for="htmlwidget-8"&gt;{"x":{"html":"&lt;ul&gt;\n &lt;li&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;&lt;\/span&gt;b&lt;span class='match'&gt;&lt;\/span&gt;c&lt;span class='match'&gt;&lt;\/span&gt; &lt;span class='match'&gt;&lt;\/span&gt;A&lt;span class='match'&gt;&lt;\/span&gt;B&lt;span class='match'&gt;&lt;\/span&gt;C&lt;span class='match'&gt;&lt;\/span&gt; &lt;span class='match'&gt;&lt;\/span&gt;1&lt;span class='match'&gt;&lt;\/span&gt;2&lt;span class='match'&gt;&lt;\/span&gt;3&lt;span class='match'&gt;&lt;\/span&gt;\t&lt;span class='match'&gt;&lt;\/span&gt;.&lt;span class='match'&gt;&lt;\/span&gt;!&lt;span class='match'&gt;&lt;\/span&gt;?&lt;span class='match'&gt;&lt;\/span&gt;\\&lt;span class='match'&gt;&lt;\/span&gt;(&lt;span class='match'&gt;&lt;\/span&gt;)&lt;span class='match'&gt;&lt;\/span&gt;{&lt;span class='match'&gt;&lt;\/span&gt;}&lt;span class='match'&gt;&lt;\/span&gt;\n&lt;span class='match'&gt;&lt;\/span&gt; &lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;&lt;\/span&gt;b&lt;span class='match'&gt;&lt;\/span&gt;c&lt;span class='match'&gt;&lt;\/span&gt;d&lt;span class='match'&gt;&lt;\/span&gt;e&lt;span class='match'&gt;&lt;\/span&gt; &lt;span class='match'&gt;aaa&lt;\/span&gt;&lt;span class='match'&gt;&lt;\/span&gt; &lt;span class='match'&gt;&lt;\/span&gt;b&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;&lt;\/span&gt;c&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;&lt;\/span&gt;d&lt;span class='match'&gt;&lt;\/span&gt; &lt;span class='match'&gt;&lt;\/span&gt;.&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;&lt;\/span&gt;.&lt;span class='match'&gt;aa&lt;\/span&gt;&lt;span class='match'&gt;&lt;\/span&gt;.&lt;span class='match'&gt;aaa&lt;\/span&gt;&lt;span class='match'&gt;&lt;\/span&gt; &lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;&lt;\/span&gt;b&lt;span class='match'&gt;&lt;\/span&gt;b&lt;span class='match'&gt;aa&lt;\/span&gt;&lt;span class='match'&gt;&lt;\/span&gt;b&lt;span class='match'&gt;&lt;\/span&gt; &lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;&lt;\/span&gt;b&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;&lt;\/span&gt;b&lt;span class='match'&gt;&lt;\/span&gt;c&lt;span class='match'&gt;&lt;\/span&gt;b&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;&lt;\/span&gt;b&lt;span class='match'&gt;&lt;\/span&gt;c&lt;span class='match'&gt;&lt;\/span&gt;d&lt;span class='match'&gt;&lt;\/span&gt;c&lt;span class='match'&gt;&lt;\/span&gt;b&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;&lt;\/span&gt;b&lt;span class='match'&gt;&lt;\/span&gt;c&lt;span class='match'&gt;&lt;\/span&gt;d&lt;span class='match'&gt;&lt;\/span&gt;e&lt;span class='match'&gt;&lt;\/span&gt;&lt;\/li&gt;\n&lt;\/ul&gt;"},"evals":[],"jsHooks":[]}&lt;/script&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;see&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;ac*&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="c1"&gt;# &amp;#39;a&amp;#39; 다음에 &amp;#39;c&amp;#39;가 없거나 하나 이상 있음 &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div id="htmlwidget-9" style="width:960px;height:100%;" class="str_view html-widget"&gt;&lt;/div&gt;
&lt;script type="application/json" data-for="htmlwidget-9"&gt;{"x":{"html":"&lt;ul&gt;\n &lt;li&gt;&lt;span class='match'&gt;a&lt;\/span&gt;bc ABC 123\t.!?\\(){}\n &lt;span class='match'&gt;a&lt;\/span&gt;bcde &lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt; b&lt;span class='match'&gt;ac&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;d .&lt;span class='match'&gt;a&lt;\/span&gt;.&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;.&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt; &lt;span class='match'&gt;a&lt;\/span&gt;bb&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;b &lt;span class='match'&gt;a&lt;\/span&gt;b&lt;span class='match'&gt;a&lt;\/span&gt;bcb&lt;span class='match'&gt;a&lt;\/span&gt;bcdcb&lt;span class='match'&gt;a&lt;\/span&gt;bcde&lt;\/li&gt;\n&lt;\/ul&gt;"},"evals":[],"jsHooks":[]}&lt;/script&gt;
&lt;p&gt;  *** **(곱하기)는 &lt;strong&gt;+&lt;/strong&gt;(더하기)와 유사하지만 결정적인 차이점으로 &lt;strong&gt;+&lt;/strong&gt;(더하기)는 기호에 해당하는 문자가 하나라도 있는 문자를 반환하지만, &lt;strong&gt;*&lt;/strong&gt;(곱하기)는 앞에 해당문자가 존재하지 않더라도 반환하는 특징이 있습니다.&lt;/p&gt;
&lt;h3 id="heading-7"&gt;“\[ \]”&lt;/h3&gt;
&lt;p&gt;  &lt;strong&gt;\[ \]&lt;/strong&gt;(대괄호)는 문자를 묶어서 표현할때 사용됩니다. 대괄호에 묶인 문자들은 각각 or로 취급이 됩니다.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;see&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;[abc]&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# &amp;#39;a&amp;#39; or &amp;#39;b&amp;#39; or &amp;#39;c&amp;#39;를 찾아 반환&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div id="htmlwidget-10" style="width:960px;height:100%;" class="str_view html-widget"&gt;&lt;/div&gt;
&lt;script type="application/json" data-for="htmlwidget-10"&gt;{"x":{"html":"&lt;ul&gt;\n &lt;li&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;c&lt;\/span&gt; ABC 123\t.!?\\(){}\n &lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;c&lt;\/span&gt;de &lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt; &lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;c&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;d .&lt;span class='match'&gt;a&lt;\/span&gt;.&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;.&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt; &lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt; &lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;c&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;c&lt;\/span&gt;d&lt;span class='match'&gt;c&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;c&lt;\/span&gt;de&lt;\/li&gt;\n&lt;\/ul&gt;"},"evals":[],"jsHooks":[]}&lt;/script&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;see&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;[abcde]c&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# &amp;#39;c&amp;#39; 앞에 &amp;#39;a&amp;#39; or &amp;#39;b&amp;#39; or &amp;#39;c&amp;#39; or &amp;#39;d&amp;#39; or &amp;#39;e&amp;#39; 문자를 찾아 반환 (&amp;#39;ac&amp;#39;, &amp;#39;bc&amp;#39; 반환) &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div id="htmlwidget-11" style="width:960px;height:100%;" class="str_view html-widget"&gt;&lt;/div&gt;
&lt;script type="application/json" data-for="htmlwidget-11"&gt;{"x":{"html":"&lt;ul&gt;\n &lt;li&gt;a&lt;span class='match'&gt;bc&lt;\/span&gt; ABC 123\t.!?\\(){}\n a&lt;span class='match'&gt;bc&lt;\/span&gt;de aaa b&lt;span class='match'&gt;ac&lt;\/span&gt;ad .a.aa.aaa abbaab aba&lt;span class='match'&gt;bc&lt;\/span&gt;ba&lt;span class='match'&gt;bc&lt;\/span&gt;&lt;span class='match'&gt;dc&lt;\/span&gt;ba&lt;span class='match'&gt;bc&lt;\/span&gt;de&lt;\/li&gt;\n&lt;\/ul&gt;"},"evals":[],"jsHooks":[]}&lt;/script&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;see&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;[A-Z][A-Z]C&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# &amp;#39;C&amp;#39;의 두 부분 앞 문자에서 A부터 Z글자까지 있는 문자를 찾아서 반환 (&amp;#39;ABC&amp;#39; 반환)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div id="htmlwidget-12" style="width:960px;height:100%;" class="str_view html-widget"&gt;&lt;/div&gt;
&lt;script type="application/json" data-for="htmlwidget-12"&gt;{"x":{"html":"&lt;ul&gt;\n &lt;li&gt;abc &lt;span class='match'&gt;ABC&lt;\/span&gt; 123\t.!?\\(){}\n abcde aaa bacad .a.aa.aaa abbaab ababcbabcdcbabcde&lt;\/li&gt;\n&lt;\/ul&gt;"},"evals":[],"jsHooks":[]}&lt;/script&gt;
&lt;p&gt; 또한, 특정한 문자를 제외하는 의미로서 대괄호 안에 &lt;strong&gt;^&lt;/strong&gt;(윗 꺽쇠)를 사용합니다.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;see&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;[^abc]&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# &amp;#39;a&amp;#39; or &amp;#39;b&amp;#39; or &amp;#39;c&amp;#39;를 제외한 문자를 반환&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div id="htmlwidget-13" style="width:960px;height:100%;" class="str_view html-widget"&gt;&lt;/div&gt;
&lt;script type="application/json" data-for="htmlwidget-13"&gt;{"x":{"html":"&lt;ul&gt;\n &lt;li&gt;abc&lt;span class='match'&gt; &lt;\/span&gt;&lt;span class='match'&gt;A&lt;\/span&gt;&lt;span class='match'&gt;B&lt;\/span&gt;&lt;span class='match'&gt;C&lt;\/span&gt;&lt;span class='match'&gt; &lt;\/span&gt;&lt;span class='match'&gt;1&lt;\/span&gt;&lt;span class='match'&gt;2&lt;\/span&gt;&lt;span class='match'&gt;3&lt;\/span&gt;&lt;span class='match'&gt;\t&lt;\/span&gt;&lt;span class='match'&gt;.&lt;\/span&gt;&lt;span class='match'&gt;!&lt;\/span&gt;&lt;span class='match'&gt;?&lt;\/span&gt;&lt;span class='match'&gt;\\&lt;\/span&gt;&lt;span class='match'&gt;(&lt;\/span&gt;&lt;span class='match'&gt;)&lt;\/span&gt;&lt;span class='match'&gt;{&lt;\/span&gt;&lt;span class='match'&gt;}&lt;\/span&gt;&lt;span class='match'&gt;\n&lt;\/span&gt;&lt;span class='match'&gt; &lt;\/span&gt;abc&lt;span class='match'&gt;d&lt;\/span&gt;&lt;span class='match'&gt;e&lt;\/span&gt;&lt;span class='match'&gt; &lt;\/span&gt;aaa&lt;span class='match'&gt; &lt;\/span&gt;baca&lt;span class='match'&gt;d&lt;\/span&gt;&lt;span class='match'&gt; &lt;\/span&gt;&lt;span class='match'&gt;.&lt;\/span&gt;a&lt;span class='match'&gt;.&lt;\/span&gt;aa&lt;span class='match'&gt;.&lt;\/span&gt;aaa&lt;span class='match'&gt; &lt;\/span&gt;abbaab&lt;span class='match'&gt; &lt;\/span&gt;ababcbabc&lt;span class='match'&gt;d&lt;\/span&gt;cbabc&lt;span class='match'&gt;d&lt;\/span&gt;&lt;span class='match'&gt;e&lt;\/span&gt;&lt;\/li&gt;\n&lt;\/ul&gt;"},"evals":[],"jsHooks":[]}&lt;/script&gt;
&lt;h3 id="-"&gt;“{ }”&lt;/h3&gt;
&lt;p&gt; &lt;strong&gt;{ }&lt;/strong&gt;(중괄호)는 문자의 개수를 샐때 사용됩니다. 중괄호에는 세가지 용법이 있습니다.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;{n,m} : 앞 문자가 n개 이상 m개 이하를 의미.&lt;/li&gt;
&lt;li&gt;{n,} : 앞 문자가 n개 이상을 의미.&lt;/li&gt;
&lt;li&gt;{n} : 앞 문자가 정확하게 n개를 의미.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;see&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;a{1,2}&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# &amp;#39;a&amp;#39; 글자가 1개 이상 2개 이하를 표시 &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div id="htmlwidget-14" style="width:960px;height:100%;" class="str_view html-widget"&gt;&lt;/div&gt;
&lt;script type="application/json" data-for="htmlwidget-14"&gt;{"x":{"html":"&lt;ul&gt;\n &lt;li&gt;&lt;span class='match'&gt;a&lt;\/span&gt;bc ABC 123\t.!?\\(){}\n &lt;span class='match'&gt;a&lt;\/span&gt;bcde &lt;span class='match'&gt;aa&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt; b&lt;span class='match'&gt;a&lt;\/span&gt;c&lt;span class='match'&gt;a&lt;\/span&gt;d .&lt;span class='match'&gt;a&lt;\/span&gt;.&lt;span class='match'&gt;aa&lt;\/span&gt;.&lt;span class='match'&gt;aa&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt; &lt;span class='match'&gt;a&lt;\/span&gt;bb&lt;span class='match'&gt;aa&lt;\/span&gt;b &lt;span class='match'&gt;a&lt;\/span&gt;b&lt;span class='match'&gt;a&lt;\/span&gt;bcb&lt;span class='match'&gt;a&lt;\/span&gt;bcdcb&lt;span class='match'&gt;a&lt;\/span&gt;bcde&lt;\/li&gt;\n&lt;\/ul&gt;"},"evals":[],"jsHooks":[]}&lt;/script&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;see&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;b{1,}&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# &amp;#39;b&amp;#39; 글자가 1개 이상인 경우를 표시&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div id="htmlwidget-15" style="width:960px;height:100%;" class="str_view html-widget"&gt;&lt;/div&gt;
&lt;script type="application/json" data-for="htmlwidget-15"&gt;{"x":{"html":"&lt;ul&gt;\n &lt;li&gt;a&lt;span class='match'&gt;b&lt;\/span&gt;c ABC 123\t.!?\\(){}\n a&lt;span class='match'&gt;b&lt;\/span&gt;cde aaa &lt;span class='match'&gt;b&lt;\/span&gt;acad .a.aa.aaa a&lt;span class='match'&gt;bb&lt;\/span&gt;aa&lt;span class='match'&gt;b&lt;\/span&gt; a&lt;span class='match'&gt;b&lt;\/span&gt;a&lt;span class='match'&gt;b&lt;\/span&gt;c&lt;span class='match'&gt;b&lt;\/span&gt;a&lt;span class='match'&gt;b&lt;\/span&gt;cdc&lt;span class='match'&gt;b&lt;\/span&gt;a&lt;span class='match'&gt;b&lt;\/span&gt;cde&lt;\/li&gt;\n&lt;\/ul&gt;"},"evals":[],"jsHooks":[]}&lt;/script&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;see&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;c{1}&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# &amp;#39;c&amp;#39; 글자가 1개인 경우를 표시 &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div id="htmlwidget-16" style="width:960px;height:100%;" class="str_view html-widget"&gt;&lt;/div&gt;
&lt;script type="application/json" data-for="htmlwidget-16"&gt;{"x":{"html":"&lt;ul&gt;\n &lt;li&gt;ab&lt;span class='match'&gt;c&lt;\/span&gt; ABC 123\t.!?\\(){}\n ab&lt;span class='match'&gt;c&lt;\/span&gt;de aaa ba&lt;span class='match'&gt;c&lt;\/span&gt;ad .a.aa.aaa abbaab abab&lt;span class='match'&gt;c&lt;\/span&gt;bab&lt;span class='match'&gt;c&lt;\/span&gt;d&lt;span class='match'&gt;c&lt;\/span&gt;bab&lt;span class='match'&gt;c&lt;\/span&gt;de&lt;\/li&gt;\n&lt;\/ul&gt;"},"evals":[],"jsHooks":[]}&lt;/script&gt;
&lt;h3 id="--1"&gt;“( )”&lt;/h3&gt;
&lt;p&gt; &lt;strong&gt;( )&lt;/strong&gt;(소괄호)는 문자를 묶어서 표현할때 사용합니다. 소괄호에 묶인 문자들은 각각 and로 취급됩니다.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;see&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;(abc)&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# &amp;#39;abc&amp;#39; 문자를 찾아 반화 &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div id="htmlwidget-17" style="width:960px;height:100%;" class="str_view html-widget"&gt;&lt;/div&gt;
&lt;script type="application/json" data-for="htmlwidget-17"&gt;{"x":{"html":"&lt;ul&gt;\n &lt;li&gt;&lt;span class='match'&gt;abc&lt;\/span&gt; ABC 123\t.!?\\(){}\n &lt;span class='match'&gt;abc&lt;\/span&gt;de aaa bacad .a.aa.aaa abbaab ab&lt;span class='match'&gt;abc&lt;\/span&gt;b&lt;span class='match'&gt;abc&lt;\/span&gt;dcb&lt;span class='match'&gt;abc&lt;\/span&gt;de&lt;\/li&gt;\n&lt;\/ul&gt;"},"evals":[],"jsHooks":[]}&lt;/script&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;see&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;(abcde)c&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# &amp;#39;c&amp;#39; 앞에 &amp;#39;abcde&amp;#39; 문자를 찾아 반환 (조건에 맞는 결과 없음)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div id="htmlwidget-18" style="width:960px;height:100%;" class="str_view html-widget"&gt;&lt;/div&gt;
&lt;script type="application/json" data-for="htmlwidget-18"&gt;{"x":{"html":"&lt;ul&gt;\n &lt;li&gt;abc ABC 123\t.!?\\(){}\n abcde aaa bacad .a.aa.aaa abbaab ababcbabcdcbabcde&lt;\/li&gt;\n&lt;\/ul&gt;"},"evals":[],"jsHooks":[]}&lt;/script&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;see&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;a(bc)ba&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# &amp;#39;a&amp;#39; 와 &amp;#39;ba&amp;#39; 사이에 &amp;#39;bc&amp;#39;가 존재하는 경우의 문자를 반환 (&amp;#39;abcba&amp;#39; 반환)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div id="htmlwidget-19" style="width:960px;height:100%;" class="str_view html-widget"&gt;&lt;/div&gt;
&lt;script type="application/json" data-for="htmlwidget-19"&gt;{"x":{"html":"&lt;ul&gt;\n &lt;li&gt;abc ABC 123\t.!?\\(){}\n abcde aaa bacad .a.aa.aaa abbaab ab&lt;span class='match'&gt;abcba&lt;\/span&gt;bcdcbabcde&lt;\/li&gt;\n&lt;\/ul&gt;"},"evals":[],"jsHooks":[]}&lt;/script&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;see&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;a(b|c)ba&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# &amp;#39;a&amp;#39; 와 &amp;#39;ba&amp;#39; 사이에 &amp;#39;b&amp;#39; 또는 &amp;#39;c&amp;#39;가 존재하는 경우의 문자를 반환 (&amp;#39;abba&amp;#39; 반환 ) &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div id="htmlwidget-20" style="width:960px;height:100%;" class="str_view html-widget"&gt;&lt;/div&gt;
&lt;script type="application/json" data-for="htmlwidget-20"&gt;{"x":{"html":"&lt;ul&gt;\n &lt;li&gt;abc ABC 123\t.!?\\(){}\n abcde aaa bacad .a.aa.aaa &lt;span class='match'&gt;abba&lt;\/span&gt;ab ababcbabcdcbabcde&lt;\/li&gt;\n&lt;\/ul&gt;"},"evals":[],"jsHooks":[]}&lt;/script&gt;
&lt;p&gt; 대괄호에 묶인 문자는 ‘or’ 취급이지만, 소괄호는 위의 경우처럼 별도의 or 표시 없이는 ‘and’ 취급이 되는것이 차이점입니다.&lt;/p&gt;
&lt;h3 id="heading-8"&gt;“\”&lt;/h3&gt;
&lt;p&gt; 앞서 &lt;strong&gt;.&lt;/strong&gt;(마침표)는 임의의 한 글자를 찾을때 사용하는 메타문자라고 말씀을 드렸는데요. 그렇다면 만약 정규표현식을 사용하여 마침표 자체를 찾고싶을땐 어떻게 해야할까요? ’a.a’라는 문자를 찾는 상황을 가정해보겠습니다.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;see&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;a.a&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# &amp;#39;a.a&amp;#39; 문자 반환?&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div id="htmlwidget-21" style="width:960px;height:100%;" class="str_view html-widget"&gt;&lt;/div&gt;
&lt;script type="application/json" data-for="htmlwidget-21"&gt;{"x":{"html":"&lt;ul&gt;\n &lt;li&gt;abc ABC 123\t.!?\\(){}\n abcde &lt;span class='match'&gt;aaa&lt;\/span&gt; b&lt;span class='match'&gt;aca&lt;\/span&gt;d .&lt;span class='match'&gt;a.a&lt;\/span&gt;&lt;span class='match'&gt;a.a&lt;\/span&gt;a&lt;span class='match'&gt;a a&lt;\/span&gt;bbaab &lt;span class='match'&gt;aba&lt;\/span&gt;bcbabcdcbabcde&lt;\/li&gt;\n&lt;\/ul&gt;"},"evals":[],"jsHooks":[]}&lt;/script&gt;
&lt;p&gt; ‘a.a’라는 문자를 찾은걸 볼 수 있지만, 그것과 더불어서 ’aaa,’ ‘aca,’ ’a a’문자 역시 매칭이 되는 것을 볼 수 있습니다. 그 이유는 공교롭게도 “.”(마침표)역시 정규표현식에서 특수한 의미를 갖는 메타문자이기 때문입니다. 정규표현식 내에서 메타문자 자체를 특정하기 위해선 그 문자 앞에 메타문자 종류중 하나인 “&lt;strong&gt;\&lt;/strong&gt;”(역슬래시)를 붙여야합니다.&lt;/p&gt;
&lt;p&gt; 그렇다면 이번에는 역슬래시를 활용하여 ’a.a’라는 문자를 찾아보도록 하겠습니다. 문자 가운데에 마침표가 메타문자가 아니라는것을 인지시키기 위하여 마침표 앞에 역슬래시를 붙였습니다.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;see&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;a\.a&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# 역슬래시 사용 &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;#&amp;gt; Error: &amp;quot;'a\.&amp;quot;로 시작하는 문자열 중에서 '\.'는 인식할 수 없는 이스케이프입니다
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt; 역슬래시를 사용했음에도 불구하고 에러가 발생하였습니다. 여기서 한가지 더 짚고 넘어가야 할 부분은 메타문자를 찾기 위해선 역슬래시를 두 개를 붙여야 한다는 것입니다. 왜 그러하냐 하면 입력된 문자를 R parser가 처리하는 과정에서 역슬래시를 추정하는데 두 개의 역슬래시를 요구하기 때문입니다. 역슬래시를 하나만을 붙여서는 R에서 인지하지 못합니다. 역슬래시의 기능을 사용하기 위해선 &lt;strong&gt;역슬래시 두 개를 붙여줘야 합니다.&lt;/strong&gt; 그래야 비로소 R이 두 개 붙인 역슬래시 앞의 역슬래시가 일반문자가 아님을 인지하고 해당 패턴을 찾아냅니다.&lt;/p&gt;
&lt;p&gt; 이처럼 역슬래시가 메타문자를 메타문자로부터 탈출시키기에 &lt;em&gt;이스케이프 문자&lt;/em&gt;라 부르기도 합니다.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;see&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;a\\.a&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# 역슬래시 두 개 사용 &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div id="htmlwidget-22" style="width:960px;height:100%;" class="str_view html-widget"&gt;&lt;/div&gt;
&lt;script type="application/json" data-for="htmlwidget-22"&gt;{"x":{"html":"&lt;ul&gt;\n &lt;li&gt;abc ABC 123\t.!?\\(){}\n abcde aaa bacad .&lt;span class='match'&gt;a.a&lt;\/span&gt;&lt;span class='match'&gt;a.a&lt;\/span&gt;aa abbaab ababcbabcdcbabcde&lt;\/li&gt;\n&lt;\/ul&gt;"},"evals":[],"jsHooks":[]}&lt;/script&gt;
&lt;p&gt; 이번에는 찾고자 하던 ’a.a’단어를 정확하게 찾아낸 것을 볼 수 있습니다.&lt;/p&gt;
&lt;h3 id="--일반문자"&gt;“\ + 일반문자”&lt;/h3&gt;
&lt;p&gt; 앞서 역슬래시( \ )가 일반문자로 탈출시키는 &lt;em&gt;이스케이프 문자&lt;/em&gt;라 설명드렸는데요. 정규표현식에서는 이러한 이스케이프 문자의 특성을 살린 특별한 기능이 몇 가지 더 있습니다. 그건 바로 일반 이스케이프 문자와 일반문자와의 조합을 통해 새로운 기능을 수행하는 것입니다. 일반문자중 일부 문자들은 이러한 특성을 지니고 있으며, 이를 정리하자면 다음과 같습니다.&lt;/p&gt;
&lt;table class="table table-striped table-hover table-condensed" style="font-size: 13px; "&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style="text-align:center;"&gt;
＼ + 일반문자
&lt;/th&gt;
&lt;th style="text-align:center;"&gt;
의미
&lt;/th&gt;
&lt;th style="text-align:center;"&gt;
예시
&lt;/th&gt;
&lt;th style="text-align:center;"&gt;
결과
&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align:center;min-width: 12em; "&gt;
＼n
&lt;/td&gt;
&lt;td style="text-align:center;min-width: 7em; "&gt;
줄바꿈
&lt;/td&gt;
&lt;td style="text-align:center;min-width: 10em; "&gt;
see(“\\n”)
&lt;/td&gt;
&lt;td style="text-align:center;min-width: 60em; "&gt;
&lt;div id="htmlwidget-23" class="str_view html-widget" style="width:600px;height:10px;"&gt;
&lt;/div&gt;
&lt;script type="application/json" data-for="htmlwidget-23"&gt;{"x":{"html":"&lt;ul&gt;\n &lt;li&gt;abc ABC 123\t.!?\\(){}&lt;span class='match'&gt;\n&lt;\/span&gt; abcde aaa bacad .a.aa.aaa abbaab ababcbabcdcbabcde&lt;\/li&gt;\n&lt;\/ul&gt;"},"evals":[],"jsHooks":[]}&lt;/script&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align:center;min-width: 12em; "&gt;
＼t
&lt;/td&gt;
&lt;td style="text-align:center;min-width: 7em; "&gt;
탭
&lt;/td&gt;
&lt;td style="text-align:center;min-width: 10em; "&gt;
see(“\\t”)
&lt;/td&gt;
&lt;td style="text-align:center;min-width: 60em; "&gt;
&lt;div id="htmlwidget-24" class="str_view html-widget" style="width:600px;height:10px;"&gt;
&lt;/div&gt;
&lt;script type="application/json" data-for="htmlwidget-24"&gt;{"x":{"html":"&lt;ul&gt;\n &lt;li&gt;abc ABC 123&lt;span class='match'&gt;\t&lt;\/span&gt;.!?\\(){}\n abcde aaa bacad .a.aa.aaa abbaab ababcbabcdcbabcde&lt;\/li&gt;\n&lt;\/ul&gt;"},"evals":[],"jsHooks":[]}&lt;/script&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align:center;min-width: 12em; "&gt;
＼s
&lt;/td&gt;
&lt;td style="text-align:center;min-width: 7em; "&gt;
공백
&lt;/td&gt;
&lt;td style="text-align:center;min-width: 10em; "&gt;
see(“\\s”)
&lt;/td&gt;
&lt;td style="text-align:center;min-width: 60em; "&gt;
&lt;div id="htmlwidget-25" class="str_view html-widget" style="width:600px;height:10px;"&gt;
&lt;/div&gt;
&lt;script type="application/json" data-for="htmlwidget-25"&gt;{"x":{"html":"&lt;ul&gt;\n &lt;li&gt;abc&lt;span class='match'&gt; &lt;\/span&gt;ABC&lt;span class='match'&gt; &lt;\/span&gt;123&lt;span class='match'&gt;\t&lt;\/span&gt;.!?\\(){}&lt;span class='match'&gt;\n&lt;\/span&gt;&lt;span class='match'&gt; &lt;\/span&gt;abcde&lt;span class='match'&gt; &lt;\/span&gt;aaa&lt;span class='match'&gt; &lt;\/span&gt;bacad&lt;span class='match'&gt; &lt;\/span&gt;.a.aa.aaa&lt;span class='match'&gt; &lt;\/span&gt;abbaab&lt;span class='match'&gt; &lt;\/span&gt;ababcbabcdcbabcde&lt;\/li&gt;\n&lt;\/ul&gt;"},"evals":[],"jsHooks":[]}&lt;/script&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align:center;min-width: 12em; "&gt;
＼S
&lt;/td&gt;
&lt;td style="text-align:center;min-width: 7em; "&gt;
공백아님
&lt;/td&gt;
&lt;td style="text-align:center;min-width: 10em; "&gt;
see(“\\S”)
&lt;/td&gt;
&lt;td style="text-align:center;min-width: 60em; "&gt;
&lt;div id="htmlwidget-26" class="str_view html-widget" style="width:600px;height:10px;"&gt;
&lt;/div&gt;
&lt;script type="application/json" data-for="htmlwidget-26"&gt;{"x":{"html":"&lt;ul&gt;\n &lt;li&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;c&lt;\/span&gt; &lt;span class='match'&gt;A&lt;\/span&gt;&lt;span class='match'&gt;B&lt;\/span&gt;&lt;span class='match'&gt;C&lt;\/span&gt; &lt;span class='match'&gt;1&lt;\/span&gt;&lt;span class='match'&gt;2&lt;\/span&gt;&lt;span class='match'&gt;3&lt;\/span&gt;\t&lt;span class='match'&gt;.&lt;\/span&gt;&lt;span class='match'&gt;!&lt;\/span&gt;&lt;span class='match'&gt;?&lt;\/span&gt;&lt;span class='match'&gt;\\&lt;\/span&gt;&lt;span class='match'&gt;(&lt;\/span&gt;&lt;span class='match'&gt;)&lt;\/span&gt;&lt;span class='match'&gt;{&lt;\/span&gt;&lt;span class='match'&gt;}&lt;\/span&gt;\n &lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;c&lt;\/span&gt;&lt;span class='match'&gt;d&lt;\/span&gt;&lt;span class='match'&gt;e&lt;\/span&gt; &lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt; &lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;c&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;d&lt;\/span&gt; &lt;span class='match'&gt;.&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;.&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;.&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt; &lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt; &lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;c&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;c&lt;\/span&gt;&lt;span class='match'&gt;d&lt;\/span&gt;&lt;span class='match'&gt;c&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;c&lt;\/span&gt;&lt;span class='match'&gt;d&lt;\/span&gt;&lt;span class='match'&gt;e&lt;\/span&gt;&lt;\/li&gt;\n&lt;\/ul&gt;"},"evals":[],"jsHooks":[]}&lt;/script&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align:center;min-width: 12em; "&gt;
＼d
&lt;/td&gt;
&lt;td style="text-align:center;min-width: 7em; "&gt;
숫자
&lt;/td&gt;
&lt;td style="text-align:center;min-width: 10em; "&gt;
see(“\\d”)
&lt;/td&gt;
&lt;td style="text-align:center;min-width: 60em; "&gt;
&lt;div id="htmlwidget-27" class="str_view html-widget" style="width:600px;height:10px;"&gt;
&lt;/div&gt;
&lt;script type="application/json" data-for="htmlwidget-27"&gt;{"x":{"html":"&lt;ul&gt;\n &lt;li&gt;abc ABC &lt;span class='match'&gt;1&lt;\/span&gt;&lt;span class='match'&gt;2&lt;\/span&gt;&lt;span class='match'&gt;3&lt;\/span&gt;\t.!?\\(){}\n abcde aaa bacad .a.aa.aaa abbaab ababcbabcdcbabcde&lt;\/li&gt;\n&lt;\/ul&gt;"},"evals":[],"jsHooks":[]}&lt;/script&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align:center;min-width: 12em; "&gt;
＼D
&lt;/td&gt;
&lt;td style="text-align:center;min-width: 7em; "&gt;
숫자아님
&lt;/td&gt;
&lt;td style="text-align:center;min-width: 10em; "&gt;
see(“\\D”)
&lt;/td&gt;
&lt;td style="text-align:center;min-width: 60em; "&gt;
&lt;div id="htmlwidget-28" class="str_view html-widget" style="width:620px;height:10px;"&gt;
&lt;/div&gt;
&lt;script type="application/json" data-for="htmlwidget-28"&gt;{"x":{"html":"&lt;ul&gt;\n &lt;li&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;c&lt;\/span&gt;&lt;span class='match'&gt; &lt;\/span&gt;&lt;span class='match'&gt;A&lt;\/span&gt;&lt;span class='match'&gt;B&lt;\/span&gt;&lt;span class='match'&gt;C&lt;\/span&gt;&lt;span class='match'&gt; &lt;\/span&gt;123&lt;span class='match'&gt;\t&lt;\/span&gt;&lt;span class='match'&gt;.&lt;\/span&gt;&lt;span class='match'&gt;!&lt;\/span&gt;&lt;span class='match'&gt;?&lt;\/span&gt;&lt;span class='match'&gt;\\&lt;\/span&gt;&lt;span class='match'&gt;(&lt;\/span&gt;&lt;span class='match'&gt;)&lt;\/span&gt;&lt;span class='match'&gt;{&lt;\/span&gt;&lt;span class='match'&gt;}&lt;\/span&gt;&lt;span class='match'&gt;\n&lt;\/span&gt;&lt;span class='match'&gt; &lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;c&lt;\/span&gt;&lt;span class='match'&gt;d&lt;\/span&gt;&lt;span class='match'&gt;e&lt;\/span&gt;&lt;span class='match'&gt; &lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt; &lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;c&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;d&lt;\/span&gt;&lt;span class='match'&gt; &lt;\/span&gt;&lt;span class='match'&gt;.&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;.&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;.&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt; &lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt; &lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;c&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;c&lt;\/span&gt;&lt;span class='match'&gt;d&lt;\/span&gt;&lt;span class='match'&gt;c&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;c&lt;\/span&gt;&lt;span class='match'&gt;d&lt;\/span&gt;&lt;span class='match'&gt;e&lt;\/span&gt;&lt;\/li&gt;\n&lt;\/ul&gt;"},"evals":[],"jsHooks":[]}&lt;/script&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align:center;min-width: 12em; "&gt;
＼w
&lt;/td&gt;
&lt;td style="text-align:center;min-width: 7em; "&gt;
문자
&lt;/td&gt;
&lt;td style="text-align:center;min-width: 10em; "&gt;
see(“\\w”)
&lt;/td&gt;
&lt;td style="text-align:center;min-width: 60em; "&gt;
&lt;div id="htmlwidget-29" class="str_view html-widget" style="width:600px;height:10px;"&gt;
&lt;/div&gt;
&lt;script type="application/json" data-for="htmlwidget-29"&gt;{"x":{"html":"&lt;ul&gt;\n &lt;li&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;c&lt;\/span&gt; &lt;span class='match'&gt;A&lt;\/span&gt;&lt;span class='match'&gt;B&lt;\/span&gt;&lt;span class='match'&gt;C&lt;\/span&gt; &lt;span class='match'&gt;1&lt;\/span&gt;&lt;span class='match'&gt;2&lt;\/span&gt;&lt;span class='match'&gt;3&lt;\/span&gt;\t.!?\\(){}\n &lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;c&lt;\/span&gt;&lt;span class='match'&gt;d&lt;\/span&gt;&lt;span class='match'&gt;e&lt;\/span&gt; &lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt; &lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;c&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;d&lt;\/span&gt; .&lt;span class='match'&gt;a&lt;\/span&gt;.&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;.&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt; &lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt; &lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;c&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;c&lt;\/span&gt;&lt;span class='match'&gt;d&lt;\/span&gt;&lt;span class='match'&gt;c&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;c&lt;\/span&gt;&lt;span class='match'&gt;d&lt;\/span&gt;&lt;span class='match'&gt;e&lt;\/span&gt;&lt;\/li&gt;\n&lt;\/ul&gt;"},"evals":[],"jsHooks":[]}&lt;/script&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align:center;min-width: 12em; "&gt;
＼W
&lt;/td&gt;
&lt;td style="text-align:center;min-width: 7em; "&gt;
문자아님
&lt;/td&gt;
&lt;td style="text-align:center;min-width: 10em; "&gt;
see(“\\W”)
&lt;/td&gt;
&lt;td style="text-align:center;min-width: 60em; "&gt;
&lt;div id="htmlwidget-30" class="str_view html-widget" style="width:600px;height:10px;"&gt;
&lt;/div&gt;
&lt;script type="application/json" data-for="htmlwidget-30"&gt;{"x":{"html":"&lt;ul&gt;\n &lt;li&gt;abc&lt;span class='match'&gt; &lt;\/span&gt;ABC&lt;span class='match'&gt; &lt;\/span&gt;123&lt;span class='match'&gt;\t&lt;\/span&gt;&lt;span class='match'&gt;.&lt;\/span&gt;&lt;span class='match'&gt;!&lt;\/span&gt;&lt;span class='match'&gt;?&lt;\/span&gt;&lt;span class='match'&gt;\\&lt;\/span&gt;&lt;span class='match'&gt;(&lt;\/span&gt;&lt;span class='match'&gt;)&lt;\/span&gt;&lt;span class='match'&gt;{&lt;\/span&gt;&lt;span class='match'&gt;}&lt;\/span&gt;&lt;span class='match'&gt;\n&lt;\/span&gt;&lt;span class='match'&gt; &lt;\/span&gt;abcde&lt;span class='match'&gt; &lt;\/span&gt;aaa&lt;span class='match'&gt; &lt;\/span&gt;bacad&lt;span class='match'&gt; &lt;\/span&gt;&lt;span class='match'&gt;.&lt;\/span&gt;a&lt;span class='match'&gt;.&lt;\/span&gt;aa&lt;span class='match'&gt;.&lt;\/span&gt;aaa&lt;span class='match'&gt; &lt;\/span&gt;abbaab&lt;span class='match'&gt; &lt;\/span&gt;ababcbabcdcbabcde&lt;\/li&gt;\n&lt;\/ul&gt;"},"evals":[],"jsHooks":[]}&lt;/script&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align:center;min-width: 12em; "&gt;
＼b
&lt;/td&gt;
&lt;td style="text-align:center;min-width: 7em; "&gt;
단어경계
&lt;/td&gt;
&lt;td style="text-align:center;min-width: 10em; "&gt;
see(“\\b”)
&lt;/td&gt;
&lt;td style="text-align:center;min-width: 60em; "&gt;
&lt;div id="htmlwidget-31" class="str_view html-widget" style="width:600px;height:10px;"&gt;
&lt;/div&gt;
&lt;script type="application/json" data-for="htmlwidget-31"&gt;{"x":{"html":"&lt;ul&gt;\n &lt;li&gt;&lt;span class='match'&gt;&lt;\/span&gt;abc&lt;span class='match'&gt;&lt;\/span&gt; &lt;span class='match'&gt;&lt;\/span&gt;ABC&lt;span class='match'&gt;&lt;\/span&gt; &lt;span class='match'&gt;&lt;\/span&gt;123&lt;span class='match'&gt;&lt;\/span&gt;\t.!?\\(){}\n &lt;span class='match'&gt;&lt;\/span&gt;abcde&lt;span class='match'&gt;&lt;\/span&gt; &lt;span class='match'&gt;&lt;\/span&gt;aaa&lt;span class='match'&gt;&lt;\/span&gt; &lt;span class='match'&gt;&lt;\/span&gt;bacad&lt;span class='match'&gt;&lt;\/span&gt; .&lt;span class='match'&gt;&lt;\/span&gt;a&lt;span class='match'&gt;&lt;\/span&gt;.&lt;span class='match'&gt;&lt;\/span&gt;aa&lt;span class='match'&gt;&lt;\/span&gt;.&lt;span class='match'&gt;&lt;\/span&gt;aaa&lt;span class='match'&gt;&lt;\/span&gt; &lt;span class='match'&gt;&lt;\/span&gt;abbaab&lt;span class='match'&gt;&lt;\/span&gt; &lt;span class='match'&gt;&lt;\/span&gt;ababcbabcdcbabcde&lt;span class='match'&gt;&lt;\/span&gt;&lt;\/li&gt;\n&lt;\/ul&gt;"},"evals":[],"jsHooks":[]}&lt;/script&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="특수표현"&gt;특수표현&lt;/h3&gt;
&lt;p&gt; 이 밖에도 정규표현식에서는 &lt;strong&gt;“\[: :\]”&lt;/strong&gt; 형태로 존재하는 특수한 표현식이 존재합니다.&lt;/p&gt;
&lt;table class="table table-striped table-hover table-condensed" style="font-size: 13px; "&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style="text-align:center;"&gt;
［: :］
&lt;/th&gt;
&lt;th style="text-align:center;"&gt;
의미
&lt;/th&gt;
&lt;th style="text-align:center;"&gt;
예시
&lt;/th&gt;
&lt;th style="text-align:center;"&gt;
결과
&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align:center;min-width: 5em; "&gt;
［:digit:］
&lt;/td&gt;
&lt;td style="text-align:center;min-width: 10em; "&gt;
숫자
&lt;/td&gt;
&lt;td style="text-align:center;min-width: 15em; "&gt;
see(“［:digit:］”)
&lt;/td&gt;
&lt;td style="text-align:center;min-width: 58em; "&gt;
&lt;div id="htmlwidget-32" class="str_view html-widget" style="width:600px;height:10px;"&gt;
&lt;/div&gt;
&lt;script type="application/json" data-for="htmlwidget-32"&gt;{"x":{"html":"&lt;ul&gt;\n &lt;li&gt;abc ABC &lt;span class='match'&gt;1&lt;\/span&gt;&lt;span class='match'&gt;2&lt;\/span&gt;&lt;span class='match'&gt;3&lt;\/span&gt;\t.!?\\(){}\n abcde aaa bacad .a.aa.aaa abbaab ababcbabcdcbabcde&lt;\/li&gt;\n&lt;\/ul&gt;"},"evals":[],"jsHooks":[]}&lt;/script&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align:center;min-width: 5em; "&gt;
［:alpha:］
&lt;/td&gt;
&lt;td style="text-align:center;min-width: 10em; "&gt;
문자
&lt;/td&gt;
&lt;td style="text-align:center;min-width: 15em; "&gt;
see(“［:alpha:］”)
&lt;/td&gt;
&lt;td style="text-align:center;min-width: 58em; "&gt;
&lt;div id="htmlwidget-33" class="str_view html-widget" style="width:600px;height:10px;"&gt;
&lt;/div&gt;
&lt;script type="application/json" data-for="htmlwidget-33"&gt;{"x":{"html":"&lt;ul&gt;\n &lt;li&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;c&lt;\/span&gt; &lt;span class='match'&gt;A&lt;\/span&gt;&lt;span class='match'&gt;B&lt;\/span&gt;&lt;span class='match'&gt;C&lt;\/span&gt; 123\t.!?\\(){}\n &lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;c&lt;\/span&gt;&lt;span class='match'&gt;d&lt;\/span&gt;&lt;span class='match'&gt;e&lt;\/span&gt; &lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt; &lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;c&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;d&lt;\/span&gt; .&lt;span class='match'&gt;a&lt;\/span&gt;.&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;.&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt; &lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt; &lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;c&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;c&lt;\/span&gt;&lt;span class='match'&gt;d&lt;\/span&gt;&lt;span class='match'&gt;c&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;c&lt;\/span&gt;&lt;span class='match'&gt;d&lt;\/span&gt;&lt;span class='match'&gt;e&lt;\/span&gt;&lt;\/li&gt;\n&lt;\/ul&gt;"},"evals":[],"jsHooks":[]}&lt;/script&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align:center;min-width: 5em; "&gt;
［:lower:］
&lt;/td&gt;
&lt;td style="text-align:center;min-width: 10em; "&gt;
소문자
&lt;/td&gt;
&lt;td style="text-align:center;min-width: 15em; "&gt;
see(“［:lower:］”)
&lt;/td&gt;
&lt;td style="text-align:center;min-width: 58em; "&gt;
&lt;div id="htmlwidget-34" class="str_view html-widget" style="width:600px;height:10px;"&gt;
&lt;/div&gt;
&lt;script type="application/json" data-for="htmlwidget-34"&gt;{"x":{"html":"&lt;ul&gt;\n &lt;li&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;c&lt;\/span&gt; ABC 123\t.!?\\(){}\n &lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;c&lt;\/span&gt;&lt;span class='match'&gt;d&lt;\/span&gt;&lt;span class='match'&gt;e&lt;\/span&gt; &lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt; &lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;c&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;d&lt;\/span&gt; .&lt;span class='match'&gt;a&lt;\/span&gt;.&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;.&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt; &lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt; &lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;c&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;c&lt;\/span&gt;&lt;span class='match'&gt;d&lt;\/span&gt;&lt;span class='match'&gt;c&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;c&lt;\/span&gt;&lt;span class='match'&gt;d&lt;\/span&gt;&lt;span class='match'&gt;e&lt;\/span&gt;&lt;\/li&gt;\n&lt;\/ul&gt;"},"evals":[],"jsHooks":[]}&lt;/script&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align:center;min-width: 5em; "&gt;
［:upper:］
&lt;/td&gt;
&lt;td style="text-align:center;min-width: 10em; "&gt;
대문자
&lt;/td&gt;
&lt;td style="text-align:center;min-width: 15em; "&gt;
see(“［:upper:］”)
&lt;/td&gt;
&lt;td style="text-align:center;min-width: 58em; "&gt;
&lt;div id="htmlwidget-35" class="str_view html-widget" style="width:600px;height:10px;"&gt;
&lt;/div&gt;
&lt;script type="application/json" data-for="htmlwidget-35"&gt;{"x":{"html":"&lt;ul&gt;\n &lt;li&gt;abc &lt;span class='match'&gt;A&lt;\/span&gt;&lt;span class='match'&gt;B&lt;\/span&gt;&lt;span class='match'&gt;C&lt;\/span&gt; 123\t.!?\\(){}\n abcde aaa bacad .a.aa.aaa abbaab ababcbabcdcbabcde&lt;\/li&gt;\n&lt;\/ul&gt;"},"evals":[],"jsHooks":[]}&lt;/script&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align:center;min-width: 5em; "&gt;
［:alnum:］
&lt;/td&gt;
&lt;td style="text-align:center;min-width: 10em; "&gt;
문자+숫자
&lt;/td&gt;
&lt;td style="text-align:center;min-width: 15em; "&gt;
see(“［:alnum:］”)
&lt;/td&gt;
&lt;td style="text-align:center;min-width: 58em; "&gt;
&lt;div id="htmlwidget-36" class="str_view html-widget" style="width:600px;height:10px;"&gt;
&lt;/div&gt;
&lt;script type="application/json" data-for="htmlwidget-36"&gt;{"x":{"html":"&lt;ul&gt;\n &lt;li&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;c&lt;\/span&gt; &lt;span class='match'&gt;A&lt;\/span&gt;&lt;span class='match'&gt;B&lt;\/span&gt;&lt;span class='match'&gt;C&lt;\/span&gt; &lt;span class='match'&gt;1&lt;\/span&gt;&lt;span class='match'&gt;2&lt;\/span&gt;&lt;span class='match'&gt;3&lt;\/span&gt;\t.!?\\(){}\n &lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;c&lt;\/span&gt;&lt;span class='match'&gt;d&lt;\/span&gt;&lt;span class='match'&gt;e&lt;\/span&gt; &lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt; &lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;c&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;d&lt;\/span&gt; .&lt;span class='match'&gt;a&lt;\/span&gt;.&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;.&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt; &lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt; &lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;c&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;c&lt;\/span&gt;&lt;span class='match'&gt;d&lt;\/span&gt;&lt;span class='match'&gt;c&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;c&lt;\/span&gt;&lt;span class='match'&gt;d&lt;\/span&gt;&lt;span class='match'&gt;e&lt;\/span&gt;&lt;\/li&gt;\n&lt;\/ul&gt;"},"evals":[],"jsHooks":[]}&lt;/script&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align:center;min-width: 5em; "&gt;
［:punct:］
&lt;/td&gt;
&lt;td style="text-align:center;min-width: 10em; "&gt;
기호
&lt;/td&gt;
&lt;td style="text-align:center;min-width: 15em; "&gt;
see(“［:punct:］”)
&lt;/td&gt;
&lt;td style="text-align:center;min-width: 58em; "&gt;
&lt;div id="htmlwidget-37" class="str_view html-widget" style="width:600px;height:10px;"&gt;
&lt;/div&gt;
&lt;script type="application/json" data-for="htmlwidget-37"&gt;{"x":{"html":"&lt;ul&gt;\n &lt;li&gt;abc ABC 123\t&lt;span class='match'&gt;.&lt;\/span&gt;&lt;span class='match'&gt;!&lt;\/span&gt;&lt;span class='match'&gt;?&lt;\/span&gt;&lt;span class='match'&gt;\\&lt;\/span&gt;&lt;span class='match'&gt;(&lt;\/span&gt;&lt;span class='match'&gt;)&lt;\/span&gt;&lt;span class='match'&gt;{&lt;\/span&gt;&lt;span class='match'&gt;}&lt;\/span&gt;\n abcde aaa bacad &lt;span class='match'&gt;.&lt;\/span&gt;a&lt;span class='match'&gt;.&lt;\/span&gt;aa&lt;span class='match'&gt;.&lt;\/span&gt;aaa abbaab ababcbabcdcbabcde&lt;\/li&gt;\n&lt;\/ul&gt;"},"evals":[],"jsHooks":[]}&lt;/script&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align:center;min-width: 5em; "&gt;
［:graph:］
&lt;/td&gt;
&lt;td style="text-align:center;min-width: 10em; "&gt;
문자+숫자+기호
&lt;/td&gt;
&lt;td style="text-align:center;min-width: 15em; "&gt;
see(“［:graph:］”)
&lt;/td&gt;
&lt;td style="text-align:center;min-width: 58em; "&gt;
&lt;div id="htmlwidget-38" class="str_view html-widget" style="width:600px;height:10px;"&gt;
&lt;/div&gt;
&lt;script type="application/json" data-for="htmlwidget-38"&gt;{"x":{"html":"&lt;ul&gt;\n &lt;li&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;c&lt;\/span&gt; &lt;span class='match'&gt;A&lt;\/span&gt;&lt;span class='match'&gt;B&lt;\/span&gt;&lt;span class='match'&gt;C&lt;\/span&gt; &lt;span class='match'&gt;1&lt;\/span&gt;&lt;span class='match'&gt;2&lt;\/span&gt;&lt;span class='match'&gt;3&lt;\/span&gt;\t&lt;span class='match'&gt;.&lt;\/span&gt;&lt;span class='match'&gt;!&lt;\/span&gt;&lt;span class='match'&gt;?&lt;\/span&gt;&lt;span class='match'&gt;\\&lt;\/span&gt;&lt;span class='match'&gt;(&lt;\/span&gt;&lt;span class='match'&gt;)&lt;\/span&gt;&lt;span class='match'&gt;{&lt;\/span&gt;&lt;span class='match'&gt;}&lt;\/span&gt;\n &lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;c&lt;\/span&gt;&lt;span class='match'&gt;d&lt;\/span&gt;&lt;span class='match'&gt;e&lt;\/span&gt; &lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt; &lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;c&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;d&lt;\/span&gt; &lt;span class='match'&gt;.&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;.&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;.&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt; &lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt; &lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;c&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;c&lt;\/span&gt;&lt;span class='match'&gt;d&lt;\/span&gt;&lt;span class='match'&gt;c&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;b&lt;\/span&gt;&lt;span class='match'&gt;c&lt;\/span&gt;&lt;span class='match'&gt;d&lt;\/span&gt;&lt;span class='match'&gt;e&lt;\/span&gt;&lt;\/li&gt;\n&lt;\/ul&gt;"},"evals":[],"jsHooks":[]}&lt;/script&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align:center;min-width: 5em; "&gt;
［:space:］
&lt;/td&gt;
&lt;td style="text-align:center;min-width: 10em; "&gt;
띄어쓰기
&lt;/td&gt;
&lt;td style="text-align:center;min-width: 15em; "&gt;
see(“［:space:］”)
&lt;/td&gt;
&lt;td style="text-align:center;min-width: 58em; "&gt;
&lt;div id="htmlwidget-39" class="str_view html-widget" style="width:600px;height:10px;"&gt;
&lt;/div&gt;
&lt;script type="application/json" data-for="htmlwidget-39"&gt;{"x":{"html":"&lt;ul&gt;\n &lt;li&gt;abc&lt;span class='match'&gt; &lt;\/span&gt;ABC&lt;span class='match'&gt; &lt;\/span&gt;123&lt;span class='match'&gt;\t&lt;\/span&gt;.!?\\(){}&lt;span class='match'&gt;\n&lt;\/span&gt;&lt;span class='match'&gt; &lt;\/span&gt;abcde&lt;span class='match'&gt; &lt;\/span&gt;aaa&lt;span class='match'&gt; &lt;\/span&gt;bacad&lt;span class='match'&gt; &lt;\/span&gt;.a.aa.aaa&lt;span class='match'&gt; &lt;\/span&gt;abbaab&lt;span class='match'&gt; &lt;\/span&gt;ababcbabcdcbabcde&lt;\/li&gt;\n&lt;\/ul&gt;"},"evals":[],"jsHooks":[]}&lt;/script&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align:center;min-width: 5em; "&gt;
［:blank:］
&lt;/td&gt;
&lt;td style="text-align:center;min-width: 10em; "&gt;
띄어쓰기+탭
&lt;/td&gt;
&lt;td style="text-align:center;min-width: 15em; "&gt;
see(“［:blank:］”)
&lt;/td&gt;
&lt;td style="text-align:center;min-width: 58em; "&gt;
&lt;div id="htmlwidget-40" class="str_view html-widget" style="width:600px;height:10px;"&gt;
&lt;/div&gt;
&lt;script type="application/json" data-for="htmlwidget-40"&gt;{"x":{"html":"&lt;ul&gt;\n &lt;li&gt;abc&lt;span class='match'&gt; &lt;\/span&gt;ABC&lt;span class='match'&gt; &lt;\/span&gt;123&lt;span class='match'&gt;\t&lt;\/span&gt;.!?\\(){}\n&lt;span class='match'&gt; &lt;\/span&gt;abcde&lt;span class='match'&gt; &lt;\/span&gt;aaa&lt;span class='match'&gt; &lt;\/span&gt;bacad&lt;span class='match'&gt; &lt;\/span&gt;.a.aa.aaa&lt;span class='match'&gt; &lt;\/span&gt;abbaab&lt;span class='match'&gt; &lt;\/span&gt;ababcbabcdcbabcde&lt;\/li&gt;\n&lt;\/ul&gt;"},"evals":[],"jsHooks":[]}&lt;/script&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div class="callout flex px-4 py-3 mb-6 rounded-md border-l-4 bg-blue-100 dark:bg-blue-900 border-blue-500"
data-callout="note"
data-callout-metadata=""&gt;
&lt;span class="callout-icon pr-3 pt-1 text-blue-600 dark:text-blue-300"&gt;
&lt;svg height="24" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="m16.862 4.487l1.687-1.688a1.875 1.875 0 1 1 2.652 2.652L6.832 19.82a4.5 4.5 0 0 1-1.897 1.13l-2.685.8l.8-2.685a4.5 4.5 0 0 1 1.13-1.897zm0 0L19.5 7.125"/&gt;&lt;/svg&gt;
&lt;/span&gt;
&lt;div class="callout-content dark:text-neutral-300"&gt;
&lt;div class="callout-title font-semibold mb-1"&gt;Note&lt;/div&gt;
&lt;div class="callout-body"&gt;&lt;p&gt;참고로 위의 표에서 사용된 일부 역슬래시와 대괄호는 출력상의 이유로 인해 일반적으로 사용하는 문자가 아닌 특수문자로 대체하였습니다. 예시함수를 사용 할 때 혹시나 에러가 발생한다면 역슬래시와 대괄호를 원래 키로 수정하여 사용하시기 바랍니다.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h3 id="위치-탐색자"&gt;위치 탐색자&lt;/h3&gt;
&lt;p&gt;  다음은 문자를 기준으로 바로 앞뒤 문자를 찾거나 그 반대인 상황을 찾을때 사용하는 표현식입니다.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;see&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;a(?=c)&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# &amp;#39;a&amp;#39;가 &amp;#39;c&amp;#39; 바로 뒤에 있는 경우를 반환 &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div id="htmlwidget-41" style="width:960px;height:100%;" class="str_view html-widget"&gt;&lt;/div&gt;
&lt;script type="application/json" data-for="htmlwidget-41"&gt;{"x":{"html":"&lt;ul&gt;\n &lt;li&gt;abc ABC 123\t.!?\\(){}\n abcde aaa b&lt;span class='match'&gt;a&lt;\/span&gt;cad .a.aa.aaa abbaab ababcbabcdcbabcde&lt;\/li&gt;\n&lt;\/ul&gt;"},"evals":[],"jsHooks":[]}&lt;/script&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;see&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;a(?!c)&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# &amp;#39;a&amp;#39;가 &amp;#39;c&amp;#39; 바로 뒤따르지 않는 경우를 반환 &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div id="htmlwidget-42" style="width:960px;height:100%;" class="str_view html-widget"&gt;&lt;/div&gt;
&lt;script type="application/json" data-for="htmlwidget-42"&gt;{"x":{"html":"&lt;ul&gt;\n &lt;li&gt;&lt;span class='match'&gt;a&lt;\/span&gt;bc ABC 123\t.!?\\(){}\n &lt;span class='match'&gt;a&lt;\/span&gt;bcde &lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt; bac&lt;span class='match'&gt;a&lt;\/span&gt;d .&lt;span class='match'&gt;a&lt;\/span&gt;.&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;.&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt; &lt;span class='match'&gt;a&lt;\/span&gt;bb&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;b &lt;span class='match'&gt;a&lt;\/span&gt;b&lt;span class='match'&gt;a&lt;\/span&gt;bcb&lt;span class='match'&gt;a&lt;\/span&gt;bcdcb&lt;span class='match'&gt;a&lt;\/span&gt;bcde&lt;\/li&gt;\n&lt;\/ul&gt;"},"evals":[],"jsHooks":[]}&lt;/script&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;see&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;(?&amp;lt;=b)a&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# &amp;#39;a&amp;#39;가 &amp;#39;b&amp;#39; 바로 앞에 있는 경우를 반환 &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div id="htmlwidget-43" style="width:960px;height:100%;" class="str_view html-widget"&gt;&lt;/div&gt;
&lt;script type="application/json" data-for="htmlwidget-43"&gt;{"x":{"html":"&lt;ul&gt;\n &lt;li&gt;abc ABC 123\t.!?\\(){}\n abcde aaa b&lt;span class='match'&gt;a&lt;\/span&gt;cad .a.aa.aaa abb&lt;span class='match'&gt;a&lt;\/span&gt;ab ab&lt;span class='match'&gt;a&lt;\/span&gt;bcb&lt;span class='match'&gt;a&lt;\/span&gt;bcdcb&lt;span class='match'&gt;a&lt;\/span&gt;bcde&lt;\/li&gt;\n&lt;\/ul&gt;"},"evals":[],"jsHooks":[]}&lt;/script&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nf"&gt;see&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#39;(?&amp;lt;!b)a&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# &amp;#39;a&amp;#39;가 &amp;#39;b&amp;#39; 바로 앞에 있지 않는 경우를 반환 &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div id="htmlwidget-44" style="width:960px;height:100%;" class="str_view html-widget"&gt;&lt;/div&gt;
&lt;script type="application/json" data-for="htmlwidget-44"&gt;{"x":{"html":"&lt;ul&gt;\n &lt;li&gt;&lt;span class='match'&gt;a&lt;\/span&gt;bc ABC 123\t.!?\\(){}\n &lt;span class='match'&gt;a&lt;\/span&gt;bcde &lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt; bac&lt;span class='match'&gt;a&lt;\/span&gt;d .&lt;span class='match'&gt;a&lt;\/span&gt;.&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;.&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt;&lt;span class='match'&gt;a&lt;\/span&gt; &lt;span class='match'&gt;a&lt;\/span&gt;bba&lt;span class='match'&gt;a&lt;\/span&gt;b &lt;span class='match'&gt;a&lt;\/span&gt;babcbabcdcbabcde&lt;\/li&gt;\n&lt;\/ul&gt;"},"evals":[],"jsHooks":[]}&lt;/script&gt;
&lt;hr&gt;
&lt;p&gt; 정리를 하다보니 분량이 꽤나 길어진 것 같습니다. 정규표현식은 비단 R에서 뿐만 아니라 다른 프로그래밍 언어에서도 적극 사용되는 용법이어서 한번 익혀두면 두고두고 써먹을 수 있는 장점이 있는데요. 여기에 소개하지 못한 다른 정규표현식도 많이 존재합니다. 더 자세히 공부를 하고자 하시는 분들을 위한 링크를 밑에 삽입하였으니 참고하시면 도움이 될 수 있겠습니다. R에서 텍스트데이터를 다루는 패키지 중 하나인 &lt;strong&gt;&lt;code&gt;stringr&lt;/code&gt;&lt;/strong&gt; 패키지와 정규표현식을 결합하여 사용하면 더욱 효과적으로 사용할 수 있는데요. 이는 다음장에서 다뤄보도록 하겠습니다.&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;hr&gt;
&lt;h1 id="참고자료"&gt;참고자료&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>