예제1> 실수로 두 번 입력된 단어를 찾으세요 예문 This is a block of of text, several words here are are repeated, and and they should not be. 결과 This is a block of of text, several words here are are repeated, and and they should not be. 정규식 \b(\w+)\b\s+\b\1\b 이러한 패턴을 찾으려면 앞에서 찾은 문자열을 가리킬 수 있어야 합니다 이러한 참조를 역참조라 합니다 참조하려고 하는 패턴은 하위 표현식 () 로 묶어야 합니다 역참조는 마치 변수와 비슷하게 생각하면 좋습니다 역참조(\순서)는 앞서 나온 하위 표현식을 지칭하며 해당 표현식에 해당하는..
여태까지는 하나의 정규 표현식이 하나의 문자에 대응했습니다 그래서 같은 패턴의 문자가 반복되면 반복되는 수만큼 문자를 쓸 수밖에 없었습니다 예를들어, 나열된 3개의 숫자는 [0-9][0-9][0-9] 이런 식으로 찾아야 합니다 매우 비효율적이지 않나요? 반복되는 문자열을 더욱 쉽게 찾을 수 없을까요? 예문 Send personal email to ben@ecount.com. The URL is http://www.ecount.co.kr/ If I want secure access, https://www.ecount.co.kr is valid. httpssss://www.ecount.co.kr is invalid url. ecountecountecountecountecount ecountecountecou..
메타문자 설명 \n 줄바꿈 \r 캐리지 리턴 \t 탭 \d 숫자 [0-9] \w 대소문자와 밑줄 포함하는 모든 영숫자 [a-zA-Z0-9_] \s 모든 공백 문자 [\f\n\r\t\v] \b 단어 경계 x|y x 또는 y 에 대응 문자열 일괄 작업시에 많이 사용되는 것이 바로 공백과 줄바꿈입니다 이는 위와 같이 메타문자를 사용하여 정규식으로 검색이 가능합니다 또한 숫자나 문자를 문자집합이 아닌 메타문자로 검색이 가능합니다 예제1> 모든 공백을 찾으세요 예문 "ab", "cd", "ef" "g"," h " 결과 "ab", "cd", "ef" "g"," h " 정규식 \s
예문 sales1.xls orders3.xls sales2.xls apac1.xls na1.xls na2.xls sa1.xls 예제1> (2또는 3).xls 형태의 문자열을 찾으세요 결과 sales1.xls orders3.xls sales2.xls apac1.xls na1.xls na2.xls sa1.xls 정규식 [23]\.xls 괄호 []를 사용하여 문자집합에 포함되는 문자 하나를 일치시킬 수 있습니다 괄호안에 일치시킬 문자열들을 쭈욱 나열하면 됩니다 그런데 만약 숫자라던지 알파벳 소문자, 대문자 이런 문자를 찾고 싶으면 0123456789나 abcdefg... 이렇게 다 써야할까요? 예제2> s(숫자) 형태의 문자열을 찾으세요 결과 sales1.xls orders3.xls sales2.xls apa..
이제, 정규식 문법을 하나씩 천천히 알아보겠습니다 사실 언어, 프레임워크마다 문법이 조금씩 다 다릅니다 일단, 여기서는 실습하기 편리한 자바스크립트 정규식 문법을 기준으로 알아보겠습니다 실습은 RegExr 사이트를 이용하면 편리합니다 https://regexr.com/ 예문 sales1.xls orders3.xls sales2.xls apac1.xls na1.xls na2.xls sa1.xls 예제1> order 를 찾으세요 결과 sales1.xls orders3.xls sales2.xls apac1.xls na1.xls na2.xls sa1.xls 정규식 order 찾으려는 문자열을 쓰면 그대로 검색할 수 있습니다 이건 너무 쉽죠? 예제2> salesX 형태의 문자열을 찾으세요 (X는 아무 문자) 결과..
다양한 경우들에 사용합니다 여기서는 몇가지 예를 들어 보겠습니다 (그런데 사실 개발할 때 그렇게 자주 쓰이지는 않아요. 그래서 맨날 까먹죠. 보통 정규식이 필요한 경우에 구글링해서 사용해요) 가입시에 입력한 값이 유효한 값인지 확인 Email, 전화번호, 주민등록번호 등이 유효한지 사전에 확인할 수 있습니다 문자열 일괄작업 정규식 사용은 업무생산성을 높이는 굉장히 좋은 방법입니다. 보통 개발하다보면 (굳이 개발이 아니더라도) 문자열을 일괄로 수정해야 하는 상황들이 발생합니다 이런 경우에 단순히 문자열 치환을 넘어서서 특정한 패턴을 원하는대로 수정할 수 있기 때문에 매우 편합니다
예제1> 주어진 문장에서 e로 시작하는 단어를 찾아서 출력해 주는 프로그램을 만들어 주세요 ex) input: I'm working at ecount. I'm excellent employee. I expect to promote to upper position. output: ecount excellent employee expect 잘 짰나요? 쉽지 않죠? .NET 같은 프레임워크를 사용하더라도 생각보다 코딩이 간단하지 않아요 제가 C# .NET Core 로 짠 예제입니다 예제1 예시> var words = sampleText.Split(' ', '.'); foreach(var word in words) { if (word.StartsWith("e")) { Console.WriteLine(word);..
근대적 세계관의 탄생: 데카르트적 진회 김상환 (서울대 철학과 교수)- 올해 60세 (동안)- 파리제4대학교 대학원 철학 박사- 배우자: 방미경 가톨릭대학교 프랑스어문화학과 교수 (유학가서 공부는 안하고...) 17세기에 일어난 세계관의 변화자연과 정신에 대한 통합적 이해존재 이해의 기본 도식이 태동 근대성의 5가지 요소1. 개인의 자율적 내면성에 대한 존중과 그에 기초한 윤리관 -> 16세기 종교개혁2. 과학의 중시와 그에 바탕을 둔 자연관 -> 17세기 과학혁명3. 민주주의적 입법 체계의 수용과 그에 기초한 정치관 -> 18세기 프랑스혁명4. 상업의 중시와 이와 맞물린 자본주의적 경제관 -> 18세기 산업혁명5. 순수예술의 등장 -> 19세기 독일 낭만 => 가장 중요한 한가지 사건: 17세기 과학혁..