이 글은 정규식 삽질의 기록이며, 나중에 내가 같은 패턴을 쓸 일이 있을 때 찾아보기 위함이다. 애증의 정규식 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탄애증의 정규식 2탄 게으른 매트랩 인덱싱 파트를 쓰던 도중, 애증의 정규식 1탄에서 걱정했던 일이 발생했다. 마크다운에서 헤딩 텍스트에 한글이 들어가면 링크에서는 없애야 한다. 정확히는, 1. 숫자와 알파벳, 즉 alphanumeric는 그대로 남긴다.2. 그 외의 문자는, alphanumeric 사이에 있는 것들은 묶어서 하이픈 하나로 바꾼다.3. Trailing 하이픈은 모두 없애버린다. 이게 말로 하면 좀 어려운데, 쉽게 말해 아래처럼 바꾼다. 123가나다abc → 123-abc1가2나3다 → 1-2-3가나다a123bc → a123bc 즉, 남길 문자 사이에 non-alphanumer..
이 글은 정규식 삽질의 기록이며, 나중에 내가 같은 패턴을 쓸 일이 있을 때 찾아보기 위함이다. (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..
후... 힘들었습니다. - 게으른