이 글은 정규식 삽질의 기록이며, 나중에 내가 같은 패턴을 쓸 일이 있을 때 찾아보기 위함이다. 애증의 정규식 1탄애증의 정규식 2탄애증의 정규식 3탄 과제 1. 마크다운 헤딩이 2단계일 때에도 잘 변환해야 한다.- Heading level 1은 숫자가 안 들어가므로 추가해줘야 한다.- 그 이하의 level은 숫자가 들어가므로 그대로 두어도 된다. 예시)>[간단한 출력: disp]>[포맷팅 출력: fprintf]>>[2.1 formatSpec]>>[2.2 변환 문자]>>[2.3 이스케이프 문자]>[format으로 출력 표시 형식 지정] 를 아래처럼 바꿔야 한다. >[1. 간단한 출력: disp]>[2. 포맷팅 출력: fprintf]>>[2.1 formatSpec]>>[2.2 변환 문자]>>[2.3 이스..
이 글은 정규식 삽질의 기록이며, 나중에 내가 같은 패턴을 쓸 일이 있을 때 찾아보기 위함이다. (1탄 보러가기) 0. 요약 • 어떤 텍스트가 '숫자4개_숫자4개' 꼴인지 보려면?~isempty(regexp(str, '^\d{4}_\d{4}$', 'once'))• 여기서\d는 숫자 하나\d{4}는 숫자 4개캐럿은 문자열이 그걸로 시작하는지 확인딸라는 문자열리 그걸로 끝나는지 확인이다. • isempty를 써야 하는 이유는? regexp의 결과로 빈 배열이 나올 수 있기 때문 1. 하려고 했던 것 • 파일명 쓰기 귀찮아서 아무 파일명으로 저장한 이미지 파일들을 일괄로 변경하고 싶었다.• 예를 들어 2024년 6월 1일에 수정한 파일이라면 '2024_0601.png'로 바꾸고 싶다.• 챗gpt가 이런 건 ..
이 글은 정규식 삽질의 기록이며, 나중에 내가 같은 패턴을 쓸 일이 있을 때 찾아보기 위함이다. 매번 느끼지만, 정규식은 문제마다 솔루션이 다르게 존재하는 느낌이다(...). 100개의 문제가 있으면 솔루션도 100개인 느낌이랄까. 요약• regexp는 모든 occurrence를 찾는다. 첫 번째 occurrence만 찾으려면 'once' 옵션을 사용한다. idx = regexp(str, pattern, 'once');• regexp는 기본적으로 인덱스를 반환한다. 문자열을 받고 싶으면 'tokens' 옵션을 사용한다. 이때 2, 3번째 반환값은 startIdx와 endIdx이다. 매칭이 N개이면 startIndx와 endIdx의 길이도 N이다.[matches, startIdx, endIdx] = reg..