일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Kotlin
- Git
- 데이터바인딩
- Invalid credentials
- 안됨
- react-native
- Android
- 개발환경설정
- 설정
- 안드로이드
- 뒤로가기 안됨
- react
- sourcetree
- AWS
- EC2
- 디버깅
- not working
- 예제
- gradle
- 리액트
- flutter
- WPF
- 안드로이드 스튜디오
- 빌드 오류
- aPK
- bitbucket
- 인증문제해결
- git인증
- 리액트 네이티브
- VisualStudio
- Today
- Total
물에 살고싶은 개발자
정규 표현식 @Pattern 본문
정규 표현식(Regexp or Regex)은 특정한 규칙을 가진 문자열의 집합을 표현하는 데 사용하는 형식 언어.
정규 표현식은 많은 텍스트 편집기와 프로그래밍 언어에서 문자열의 검색과 치환을 위해 지원하고 있습니다.
2. 정규 표현법
문 자 | 설 명 | 예 제 |
\ | 다음에 오는 문자를 특수 문자, 리터럴, 역참조 또는 8진수 이스케이프로 표시합니다. | "\\"는 "\"를 찾고 "\("는 "(" 찾습니다. |
^ | 입력 문자열의 시작 부분에서 위치를 찾습니다. | ^abc -> abcdef ^a?bc -> bcdef, abcdef |
$ | 입력 문자열의 끝 부분에서 위치를 찾습니다. | t$ -> eat 동$ -> 홍길동 |
* | 앞의 문자나 부분식을 0개 이상 찾습니다. | ab* -> ab, aabb, abb, aaaa ab*d -> ad, abd, abbbbd |
+ | 앞의 문자나 부분식을 1개 이상 찾습니다. | zo+ -> zo, zoo |
? | 앞의 문자나 부분식을 0개나 1개 찾습니다. | te?n -> ten, tn teen(x) |
{n} | n의 수만큼 정확하게 앞글자를 반복합니다. | te{2}n -> teen |
{n, m} | n과 m사이의 수만큼 앞글자를 반복 | te{1,2}n -> ten, teen |
. | New Line을 제외한 모든 글자 | .n -> an apple, on the tree |
(pattern) | 패턴을 체크하고 체크한 값을 변수로 저장 | (f..) (b..) -> foo, bar |
(?:pattern) | 패턴을 체크하고 체크한 값을 변수로 저장하지 않음 | (?:f..) (b..) -> bar |
(?=pattern) | 패턴에 일치하는 문자열이 시작된 위치에서 검색 문자열을 찾습니다. | blah(?=soft|hard) -> blahsoft, blahhard, blah hard(x) |
(?!pattern) | 패턴에 일치하지 않는 문자열이 시작된 위치에서 검색 문자열을 찾습니다. | blash(?!hard) -> blahsoft, blah soft |
x|y | x 또는 y를 찾습니다. | z|food -> z, food (z|f)ood -> zood, food |
[xyz] | 문자 집합, 괄호로 묶인 문자 중 하나를 찾습니다. | [abc] -> plain |
[^xyz] | 음수 문자 집합, 괄호로 묶이지 않는 문자를 찾습니다. | [^a-z] -> I'm a good man, I am A Good Man |
[a-z] | 문자의 범위. 지정한 범위에서 문자를 찾습니다. | [a-z]{4,} -> She sells sea shells by... |
[^a-z] | 음의 범위 문자. 지정한 범위에서 있지 않은 문자를 찾습니다. | [^a-z] -> KNOW know |
\b | 단어와 공백 사이의 위치를 찾습니다. | er\b -> naver, verb(x) |
\B | \b 를 제외한 전부를 찾습니다. | er\B -> verb, naver(x) |
\cx | x로 표시된 제어 문자를 찾습니다. | \cM -> Control-M or 캐리지 리턴 문자를 찾습니다. |
\d | 숫자를 찾습니다. | == [0-9] |
\D | 숫자가 아닌 문자를 찾습니다. | == [^0-9] |
\f | 용지 공급 문자를 찾습니다. | == \xOc, \cL |
\n | 줄 바꿈 문자를 찾습니다. | == \xOa, \cJ |
\r | 캐리지 리턴 문자를 찾습니다. | == \xOd, \cM |
\s | 공백, 탭, 용지 공급 등을 비롯한 모든 공백 문자를 찾습니다. | == [\f\n\r\t\v] |
\S | 공백이 아닌 문자를 찾습니다. | == [^\f\n\r\t\v] |
\t | 탭 문자를 찾습니다. | == \x09, \cL |
\v | 새로 탭 문자를 찾습니다. | == \x09, \cK |
\w | 밑줄을 비롯한 모든 문자를 찾습니다. | == [A-Za-z0-9_] |
\W | 비단어 문자를 찾습니다. | == [^A-Za-z0-9_] |
\xn | n을 찾는데, 여기서 n은 16진수 이스케이프 값입니다. (ASCII 코드가 정규식에 사용될 수 있습니다.) | \x41 -> A \x041 -> \x04 & 1 |
[a-z] : 소문자
[A-Z] : 대문자
[a-zA-Z] : 영문자
[가~힣] : 완성형 한글
연습 사이트 :
참고 :
- MSDN 포럼