2017년 2월 25일 토요일

RexEx 정규표현식 정리

\
다음에 오는 문자를 특수 문자, 리터럴, 역참조 또는 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

댓글 없음:

댓글 쓰기

플러터 단축키

1. 위젯 감싸기/벗기기 비주얼 스튜디오 :   Cmd + . 안드로이드 스튜디오 : Alt + Enter 2. 코드 정렬 비주얼 스튜디오 : Ctrl + S 안드로이드 스튜디오 : Ctlr + Alt + L 3. StatelessWidget ->...