[Leetcode] Find Products with Valid Serial Numbers
정답
SELECT *
FROM products
WHERE REGEXP_LIKE(description, '\\bSN[0-9]{4}-[0-9]{4}\\b', 'c')
ORDER BY product_id;
✅ Point
- 조건 1: 대문자 ‘SN’으로 시작
- REGEXP_LIKE 의 마지막 인자로
'c'
이라는 match type를 전달 - 정확히
SN
만을 참으로 인식하게끔 (전달하지 않으면, 대소문자를 구분하지 않고 참/거짓 판별)
- REGEXP_LIKE 의 마지막 인자로
- 조건 2: 4digits-4digits 로 구성
- 4 digits:
[0-9]{4}
- 단, 이렇게만 하면 숫자가 4개 보다 큰 경우또한 참으로 판별함
\b
를 통해 범위를 명확히 규정함- 즉, (SN0000-0000) 앞 뒤엔 단어가 붙지 않도록
WHERE REGEXP_LIKE(description, '(^|[^a-zA-Z0-9])SN[0-9]{4}-[0-9]{4}([^0-9]|$)', 'c')
와 유사한 기능 수행
- 4 digits: