주어진 Unicode 속성 가진 글자 매칭, 글자 listing 아님
\p{...} 가 주어진 Unicode 속성 가진 어떤 글자든 매칭. 보충은 \P{...}. 이게 모든 글자 listing 없이 portable Unicode-aware 패턴 풀어줌.
흔한 속성
\p{L}— 어떤 문자든 (어떤 스크립트든)\p{Ll}— 소문자\p{Lu}— 대문자\p{N}— 어떤 숫자-like 든 (숫자, 분수, 로마 숫자 등)\p{Nd}— 십진 숫자 (어떤 스크립트든의 숫자)\p{P}— 구두점\p{S}— 기호 (수학, 통화, 수정자)\p{Z}— 분리자 (공백, 줄)\p{Mn}— 비-spacing 마크 (combining 발음구별기호)
스크립트 속성
\p{Script=Hangul} 가 한글 음절 매칭. \p{Script=Han} 가 CJK ideograph. \p{Script=Latin} 가 라틴 스크립트. 쓰기 시스템으로 필터링 유용.
엔진 지원
- Python
regexthird-party: 풀 지원. - Python
re:\p{...}X, but\d,\w,\s가 기본 Unicode-aware. - JavaScript:
/u플래그로 Yes. - PCRE, Java, .NET, Ruby: Yes.
- Go RE2: Yes (RE2 문법 사용).
언제 사용
다국어 텍스트 처리할 때마다. [\p{L}\p{N}_] 가 portable Unicode-aware 식별자 패턴, 한국어 변수명, Cyrillic, Arabic, 어떤 거든 동작. [a-zA-Z0-9_] 가 ASCII 만.