문자 반복 연산자
문자가 특정 횟수만큼 반복된다는 것을 표시하고 싶은 상황이 있습니다.
반복 횟수를 정확히 알고 있다면, 그냥 여러 번 써주면 됩니다 - /aaaa/.
하지만 한 번 이상 반복 이렇게 말하고 싶다면 어떨까요?
이를 위해 반복 연산자(수량자)가 있습니다: 플러스 + (한 번 이상),
별표 * (0번 이상), 물음표 ? (0번 또는 한 번).
이 연산자들은 자신 앞에 있는 문자에 영향을 줍니다.
예제를 통해 이 연산자들이 어떻게 동작하는지 알아봅시다.
예제
패턴 문자 'x', 문자 'a' 한 번 이상,
문자 'x' 에 맞는 모든 부분 문자열을 찾아봅시다:
let str = 'xx xax xaax xaaax xbx';
let res = str.replace(/xa+x/g, '!');
결과로 변수에 다음 내용이 저장됩니다:
'xx ! ! ! xbx'
예제
패턴 문자 'x', 문자 'a' 0번 이상,
문자 'x' 에 맞는 모든 부분 문자열을 찾아봅시다:
let str = 'xx xax xaax xaaax xbx'
let res = str.replace(/xa*x/g, '!');
결과로 변수에 다음 내용이 저장됩니다:
'! ! ! ! xbx'
예제
패턴 문자 'x', 문자 'a' 0번 또는 한 번,
문자 'x' 에 맞는 모든 부분 문자열을 찾아봅시다:
let str = 'xx xax xaax xbx';
let res = str.replace(/xa?x/g, '!');
결과로 변수에 다음 내용이 저장됩니다:
'! ! xaax xbx'
실습 문제
문자열이 주어졌습니다:
let str = 'aa aba abba abbba abca abea';
패턴: 문자 'a', 문자 'b' 임의의 횟수,
문자 'a' 에 맞는 문자열
'aba', 'abba', 'abbba'
를 찾는 정규 표현식을 작성하세요.
문자열이 주어졌습니다:
let str = 'aa aba abba abbba abca abea';
패턴: 문자 'a', 문자 'b' 임의의 횟수
(0번도 가능), 문자 'a' 에 맞는 문자열
'aa', 'aba', 'abba',
'abbba' 를 찾는 정규 표현식을 작성하세요.
문자열이 주어졌습니다:
let str = 'aa aba abba abbba abca abea';
패턴: 문자 'a', 문자 'b' 한 번 또는 0번,
문자 'a' 에 맞는 문자열
'aa', 'aba' 를 찾는 정규 표현식을 작성하세요.
문자열이 주어졌습니다:
let str = 'aa aba abba abbba abca abea';
'abca' 와 'abea' 는 제외하고,
'aa', 'aba', 'abba',
'abbba' 문자열을 찾는 정규 표현식을 작성하세요.