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

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

달력

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

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

글 보관함