- 멀티라인 플래그 활용 (jsbin)
- ?=, ?! (regexp)
- regex1(?=(regex2)) : Positive Lookahead : regex1 다음 regex2의 정규표현식이 일치할 경우 반환
- regex1(?!(regex2)) : Negative Lookahead : regex1 다음 regex2의 정규표현식이 일치하지 않을 경우 반환
- (?<=(regex2))regex1 : Positive Lookbehind : regex2의 정규표현식이 일치하고 regex1가 나올 경우 반환
- (?<!(regex2))regex1 : Negative Lookbehind : regex2의 정규표현식이 일치하지 않고 regex1가 나올 경우 반환
출처: https://unlimitedpower.tistory.com/entry/정규표현식-이것이-고급이다-Positive-Negative-Lookahead-Lookbehind [오늘도 공장은 돌아간다.]
- 수량자 뒤 ? = non-greedy (jsbin)
- 모두 정규식으로 해결하려고 하면 복잡해지고 디버깅하기 어려움 (jsbin)
- 복잡한 정규식은 테스트 코드를 남겨두면 디버깅하기 좋음 (jsbin)