ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [JAVA] 정규표현식
    JAVA 2018. 12. 12. 17:26

     표현식

    설명 

     ^

     문자열의 시작 

     $

     문자열의 종료 

     .

     임의의 한 문자 (문자의 종류 가리지 않음) 

     *

     앞 문자가 없을수도 무한정 많을 수도 있음 

     +

     앞 문자가 하나 이상 

     ?

     앞 문자가 없거나 하나 있음 

     [ ]

     문자의 집합이나 범위를 나타내며

     두 문자 사이는 - 기호로 나타낸다.

     [^문자] : 해당 문자가 아닌 모든 문자 ( NOT 의미)

     { 숫자 }

     횟수 또는 범위를 나타냄

     ( )

     하나의 문자로 인식 

     |

     OR연산 

     \s

     공백문자

     \S

     공백문자가 아닌 나머지 문자 

     \w

     영문이나 숫자 

     \W

     영문이나 숫자 제외한 나머지 문자 

     \d

     숫자 [0-9] 와 동일 

     \D

     숫자를 제외한 모든 문자 

     \

     역슬래시(\)는 확장문자
     역슬래시 다음에 일반 문자가 오면 특수문자로 취급

     역슬래시 다음에 특수 문자가 오면 그 문자 자체로 취급 

     (?i)

     앞 부분에 (?i) 라는 옵션을 넣어주면 대소문자를 구분하지 않음 


     FLAG(플래그)

     설명

     g

     전역검색 

     i

     대소문자 구별없이 검색 

     m

     Multi-line검색, 시작 혹은 끝 문자탐색(^and$)아 다중행에 적용되도록 합니다.

     y

     현재 위치에서 검색 



    JAVA에서는 \(역슬래시)를 사용하기 위해서는 \(역슬래시)를 한번 더 적어주어야 한다.


    import java.io.Console;

    import java.util.regex.Pattern;

    import java.util.regex.Matcher;


    public class MyRegex{

    public static void main(String[] args){

    String searchTarget = "<p style='text-align: center;'><span>웹프로그래밍</span></p><p><span>웹프로그래밍</span></p><p ><span>웹프로그래밍</span></p><p <><span>웹프로그래밍</span></p><p >><span>웹프로그래밍</span></p><P><span>웹프로그래밍</span></P>";

            

    Pattern TAGS = Pattern.compile("<\\w+\\s+[^<]*\\s*>");

    Matcher matcher = pattern.matcher(searchTarget);

    while(matcher.find()){

    System.out.println(matcher.group(0));

    }

    }

    }




    Pattern.compile("<\\w+\\s+[^<]*\\s*>");

     

     

     +

      \s 

    +

     [^<] 

     *

      \s

    *

     영문 

    or

    숫자 

     하나이상

    공백문자 

    하나이상

     < 문자 아닌 모든 문자

    가능 

    없거나 

    있거나

    공백문자

     없거나 

    있거나

     필수

     선택



     <p> <span>

     공백문자가 하나이상 없기 때문에

     </p> </span>

     영문또는숫자로 시작해야하고 공백문자가 하나이상 없기 때문에

     <p <>

    <문자가 아닌 모든문자만 허용하기 때문에


    'JAVA' 카테고리의 다른 글

    [JAVA] JSTL 문법정리  (0) 2018.12.13
    [이클립스] DEBUG 사용  (0) 2018.12.12

    댓글

Designed by Tistory.