자바스크립트 정규표현식 g 옵션의 비밀
여러분 안녕하세요. 자바스크립트 정규표현식에서 g 옵션에는 비밀이 숨겨져있다는 것 아시나요? 저는 이 비밀을 알아내기 위해 머리가 깨져버렸답니다. 도저히 모르겠어서 백준에 질문을 드려봤습니다. 그랬더니 어떤분께서 엄청 자세하게 답변을 달아주셨습니다. 정말 감사합니다. 앞으로의 글은 문제답변내용을 공부한 것 입니다. 문제답변 글 읽기 - 자바스크립트 정규표현식 질문입니다. 댓글을 작성하려면 로그인해야 합니다. www.acmicpc.net RegExp에서의 lastIndex란 틀린 원인을 알기 위해 먼저 RegExp(정규 표현식 객체) 의 lastIndex 속성을 알아봅시다. lastIndex 속성은 정규 표현식에서 매칭을 어디까지 했는지를 저장하기 위한 속성이며, 초기 값은 0입니다. 정규 표현식에 전역 ..
[백준/JS] 1264 모음의 개수
문제링크 1264번: 모음의 개수 입력은 여러 개의 테스트 케이스로 이루어져 있으며, 각 줄마다 영어 대소문자, ',', '.', '!', '?', 공백으로 이루어진 문장이 주어진다. 각 줄은 최대 255글자로 이루어져 있다. 입력의 끝에는 한 줄 www.acmicpc.net 배운점 i - 대소문자 구분안함 정규표현식 match - 해당 문자열을 모두 찾아서 배열로 나타내어줌. 문제풀이 const fs = require("fs"); BOJkey = true; var input = fs .readFileSync(BOJkey ? "./자바스크립트로/1264/input.txt" : "./dev/stdin") .toString() .trim() .split("\n"); let regex = new RegExp(..
[백준/JS] 1543 문서검색
문제링크 배운점 동적변수로 정규표현식을 만들때 백틱을 사용하여 다음과 같이 정규식을 만들어주면 된다. const strr = input[1]; let regex = new RegExp(`${strr}`, "g"); let a = input[0].match(regex); 문제풀이 try catch를 사용한 이유는 정규표현식으로 걸러지는 문자가 없는경우에 length 메소드를 사용하면 에러가 발생한다. 따라서 catch문 이 동작할때에는 0을 출력한다. const fs = require("fs"); BOJkey = 1; var input = fs .readFileSync(BOJkey ? "./자바스크립트로/1543/input.txt" : "./dev/stdin") .toString() .trim() .spl..
정규표현식 공부
https://yozm.wishket.com/magazine/detail/1197/ 개발자라면 알아야 할 ①불규칙 속에서 규칙을 찾는 정규표현식 | 요즘IT 정규식의 정식 풀네임은 정규 표현식(Regular Expression)이지만, 사실 정규 표현식이라는 풀네임보다는 정규식, Regex, 규식이형 등으로 더 자주 불리고는 한다. 정규식은 패턴을 표현할 수 있는 일 yozm.wishket.com https://ccambo.tistory.com/entry/%EC%A0%95%EA%B7%9C%EC%8B%9D-Regular-Expression%EC%97%90-%EB%8C%80%ED%95%9C-%EA%B0%84%EB%8B%A8-%EC%A0%95%EB%A6%AC 정규식 (Regular Expression)에 대한..