목차 정규 표현식의 기초, 메타 문자 📌 정규 표현식에서 사용하는 메타 문자(meta characters)에는 다음과 같은 것들이 있다. 💡 메타 문자란 원래 그 문자가 가진 뜻이 아닌 특별한 용도로 사용되는 문자를 말한다. . ^ $ * + ? { } [ ] \ | ( ) 정규 표현식에 위 메타 문자들이 사용되면 특별한 의미를 갖게 된다. 문자 클래스 [ ] 📌 문자 클래스로 만들어진 정규식은 "[와 ] 사이의 문자들과 매치" 라는 의미를 갖는다. 💡 문자 클래스를 만드는 메타 문자인 [ ] 사이에는 어떤 문자도 들어갈 수 있다. 정규 표현식이 [abc] 라면 이 표현식의 의미는 "a, b, c 중 한 개의 문자와 매치"를 뜻한다. 문자열 "a", "before", "dude" 가 정규식 [abc]와 ..
정규 표현식 📌 정규 표현식 (Regular Expressions)은 복잡한 문자열을 처리할 때 사용하는 기법으로, 파이썬만의 고유 문법이 아니라 문자열을 처리하느 모든곳에서 사용된다. 정규 표현식이 필요한 이유 🔔 주민등록번호를 포함하고 있는 텍스트가 있다. 이 텍스트에 포함된 모든 주민등록번호의 뒷자리를 * 문자로 변경하시오. 정규식을 전혀 모르면 다음과 같은 순서로 프로그램을 작성해야 할 것이다. 전체 텍스트를 공백 문자로 나눈다(split). 나누어진 단어들이 주민등록번호 형식인지 조사한다. 단어가 주민등록번호 형식이라면 뒷자리를 * 로 변환한다. 나누어진 단어들을 다시 조립한다. 결과값: 정규식을 사용하면 다음처럼 훨씬 간편하고 직관적인 코드를 작성할 수 있다. 결과값:
3과 5의 배수 합하기 10 미만의 자연수에서 3과 5의 배수를 구하면 3, 5, 6, 9이다. 이들의 총합은 23이다. 1000 미만의 자연수에서 3의 배수와 5의 배수의 총합을 구하라. 입력받는 값은? 1부터 999 까지(1000미만의 자연수) 출력하는 값은? 3의 배수와 5의 배수의 총합 생각해 볼 것은? 3의 배수와 5의 배수는 어떻게 찾지? 3의 배수와 5의 배수가 겹칠 때는 어떻게 하지? 결과 : 위 문제는 코딩 연습을 할 수 있는 사이트 "프로젝트 오일러" 사이트의 첫 번째 문제이다. 프로젝트 오일러 : http://projecteuler.net/archives 게시판 페이징 하기 📌 A씨는 게시판 프로그램을 작성하고 있다. 그런데 게시물의 총 건수와 한 페이지에 보여줄 게시물 수를 입력으로..
sys 📌 sys 모듈은 파이썬 인터프리터가 제공하는 변수들과 함수들을 집접 제어할 수 있게 해주는 모듈이다. 🎯 명령 행에서 인수 전달하기 - sys.argv 도스 창에서 위의 예처럼 test.py뒤에 또 다른 값들을 함께 넣어 주면 sys.argv라는 리스트에 그 값들이 추가된다. argv_test.py파일을 D:/Python/Mymodules디렉터리에 저장했다고 가정한다. 도스 창에서 다음과 같이 실행. Python 이라는 명령어 뒤의 모든 것들이 공백을 기준으로 나뉘어서 sys.argv리스트의 요소가 됨을 알 수 있다. 🎯 강제로 스크립트 종료하기 - sys.exit sys.exit는 Ctrl+z나 Ctrl+D를 눌러서 대화형 인터프리터를 종료하는 것과 같은 기능을 한다. 프로그램 파일 내에서 사..
abs 📌 abs(x)는 어떤 숫자를 입력으로 받았을 때, 그 숫자의 절대값을 돌려주는 함수 이다. all 📌 all(x)은 반복 가능한(interable) 자료형 x를 입력 인수로 받으며, 이 x가 모두 참이면 True, 거짓이 하나라도 있으면 False를 리턴한다. 💡 반복 가능한 자료형이란 for문은 그 값을 출력할 수 있는 것을 의미한다. 리스트, 튜플, 문자열, 딕셔너리, 집합 등이 있다. 리스트 자료형 중에서 요소 0이 있으면 거짓이므로 False를 리턴한다. any 📌 any(x)는 중 하나라도 참이 있을 경우 True를 리턴하고, x가 모두 거짓일 경우에만 False를 리턴한다. all(x)의 반대 경우라고 할 수 있다. 리스트 자료형이 모두 거짓 일 때만 False를 리턴한다. [0, "..
Assembly Decreasing size of data ( size 가 줄어드는 data ) mov ax, 0034hmov cl, al ㆍ큰 size 에서 작은 size 에 넣으면 data 의 상위 byte는 잘려 나간다. Increasing size of data mov ah, 0 ㆍah의 양수 공간 확장 movzx eax, ax ㆍeax 는 4byte ax는 2byte 임으로 movzx 로 size를 맞춘다. ㆍzx : 는 양수일때의 공간 확장을 할경우 mov앞에 사용된다. ㆍ비쥬어 스튜디오 에서 디버그 모드에 진입후 단축키alt + 8 을 눌리면 디스어셈블리 창이 보인다. [ C 소스코드 ] [ 위 C소스 코드의 어셈블리 ] ㆍmov 앞의 숫자는 기계어 주소이다. ※ 보수관계에 의해 signed..
Assmbly 첨부파일에는 컴파일 링크시 필요한 asm_io.inc, asm_io.asm 파일과 nasm 컴파일러 올려둡니다. nasm 컴파일은 아래와 같은 경로에서 받을수 있다. nasm 컴파일Ex) asm_io.asm 파일 내부12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512..