2017. 5. 19. 17:26 IT/JAVA

JAVA 정규표현식

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

JAVA 정규표현식


1) ‘.’ 특수문자

- 임의의 한 문자를 나타낸다.

- ‘.’ 특수문자가 위치한 곳에는 반드시 한 글자가 위치하여야 한다.

- ex ) 패턴 : a.b → 일치하는 문자열 : acb, adb, azb 등

- ex ) 패턴 : ab. → 일치하지 않는 경우 : ab, abcd 등

 

2) ‘*’ 특수문자

- 바로 앞의 문자를 0번 이상 반복한다.

- * 앞에는 한 글자 이상의 단어가 반드시 와야 한다.

- ex ) 패턴 : ab*c → abc, abbc, abbbc 등

- ex ) 패턴 : *ab → 불가능

 

3) ‘+’ 특수문자

- 바로 앞의 문자를 1번 이상 반복한다.

- + 앞에는 한 글자 이상의 단어가 반드시 와야 한다.

- ex ) 패턴 : a+b → aab, aaab, aaaab 등

- ex ) 패턴 : +ab → 불가능

 

4) ‘?’ 특수문자

- 특수문자 바로 앞의 문자가 하나 있거나 없는 것을 의미한다.

- ex ) 패턴 : try? → 일치하는 문자열 : tr, try

패턴 : a?c → 일치하는 문자열 : c, ac

 

5) ‘^’ 특수문자

- 문장의 처음을 나타낸다.

- ex ) 패턴 : ^Hello → 일치하는 문자열 : Hello abc, Hello world 등

Hello로 시작하는 문자열

 

6) ‘$’ 특수문자

- 문장의 끝을 나타낸다.

- ex ) 패턴 : world$ → 일치하는 문자열 : hello world, welcome my world 등

world로 끝나는 문자열

 

7) ‘[]’ 특수문자

- 괄호 안의 문자 중 일치하는 것을 찾고자 할 경우 사용

- ex ) 패턴 : [abc] → 일치하는 문자열 : a, b, c, ab, abc 등

[a-z] → 소문자가 포함된 모든 문자열

[A-Z] → 대문자가 포함된 모든 문자열

[0-9] → 숫자가 포함된 모든 문자열

^[a-zA-Z0-9] → 숫자가 영문자로 시작되는 모든 문자열

 

8) ‘[]’ 특수문자 안에서의 ‘^’ 특수문자

- []안의 문자와 일치하지 않는 문자열을 포함하고 있는 패턴을 의미한다

- ex ) 패턴 : [^abc]de → .de패턴과 동일 (ade, bde, cde 제외)

 

9) ‘{}’ 특수문자

- 특수문자 앞의 문자나 문자열의 반복되는 개수를 말한다.

- ex ) go{5}ggle → gooooogle

go{3,}ggle → gooogle, goooogle, gooooogle 등 (o가 3개 이상)

go{2,4}ggle → google, gooogle, goooogle (o가 2개이상 4개이하)

 

10) ‘()’ 특수문자

- ()안의 글자들을 하나의 문자로 본다.

- ex ) (hero_){3} → hero_hero_hero_

(hero_)* → null, hero_, hero_hero_ 등

 

11) ‘|’ 특수문자

- 패턴 안에서 OR연산 사용시 사용

- ex ) man|woman → man, woman, manwoman, superman 등

 

12) 문자 클래스

- [] 안에서 자주 사용되는 패턴들을 미리 키워드로 정의하여 놓은 것

- 문자클래스는 PHP에서는 이용되지만 JAVA에서는 이용되지 않음

패턴

문자 클래스

J2SDK 1.4의 예

[a-zA-Z] : 모든 영문자

[[:alpha:]]

\p{Alpha}

[0-9] : 숫자

[[:digit:]]

\p{Digit}

[a-zA-Z0-9] : 영문자와 숫자

[[:alnum:]]

\p{Alnum}

공백

[[:space:]]

\p{Space}



 

javascript 에서 사용 !!!


 

# 매칭문자

\D : 숫자가 아닌 문자

\d : 숫자

\s : 공백문자

\w : [A-Z,a-z,0-9], 알파벳, 숫자로 된 문자, 밑줄기호

\W : \w를 제외한것

 

flag - i : 대/소문자 구분 없음

        g : 전역검색

        m : 여러줄 검색

 

정규식 매칭중 () 사용시 괄호로 묶은 패턴은 매칭후 그 부분을 기억하여 결과가 저장되는 배열에 같이 저장된다.

괄호로 묶은 부분만 저장된다.

 

ex1 ) var rgExp = /(^D*[0-9])/

        var str = "This is fun 01 stuff";

        var resultArray = str.match(rgExp);

        document.writeln(resultArray);        ==>  This is fun 0,This is fun 0

       

ex2 ) var rgExp = /(^D*)[0-9]/

        var str = "This is fun 01 stuff";

        var resultArray = str.match(rgExp);

        document.writeln(resultArray);        ==>  This is fun 0,This is fun

 

ex3 ) 숫자에 Comma 추가하기 (출처 : 바로가기 >> )

        function addComma(num) {

                  if(isNaN(num) == true) {

                        return 0;

                  }

                  var reg = /(^[+-]?\d+)(\d{3})/;

                  var strNum = num + '';

                  while(reg.test(strNum)) {

                        strNum = strNum.replace(reg, '$1' + ',' + '$2');

                  }

                  return strNum

           }

        ==> "123456789" -> (123456789 replace) -> "123456,789" -> (123456 replace) -> "123,456,789"

 

감사합니다.


출처: http://breath91.tistory.com/entry/Java-정규표현식 [숨[Breath]]

'IT > JAVA' 카테고리의 다른 글

정규표현식(regexp)  (0) 2017.05.24
Posted by 당양부부34
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

http://blog.naver.com/azure0777/220619415390


Posted by 당양부부34
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

firebase 연동시 Firebase에 구글 계정 권한을 추가하여야 한다.


개헤맸네.

Posted by 당양부부34

블로그 이미지
주요 토렌트를 블로깅하고 있습니다. 토렌트 순위 등은 다른 사이트를 찾아보세요. 주요 웹툰 순위도 게재했어요 경제를 좋아하는 일산의 행복한 프로그래머입니다.
당양부부34
Yesterday
Today
Total

달력

 « |  » 2025.2
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

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

글 보관함