정규식

Shaun·2021년 8월 4일
0

정규식

= 정규식이란 텍스트 데이터 중에서 원하는 조건(패턴)과 일치하는 문자열을 찾아내기 위해 사용하는것.

  • 정규식을 이용하면 많은 양의 텍스트 파일 중에서 원하는 데이터를 손쉽게 뽑아낼수도 있고 입력한 데이터가 형식에 맞는지 체크할 수도 있다.

정규식 사용법

  1. 정규식을 매개변수로 Pattern클래스의 static 메서드인 Pattern compile(String regex)을 호출하여 Pattern 인스턴스를 얻는다
  • Pattern p= Pattern.compile("c[a-z]*");
  1. 정규식으로 비교할 대상을 매개변수로 Pattern클래스의 Matcher matcher(CharSequence input)을 호출해서 Matcher인스턴스를 얻는다.
  • Matcher m=p.matcher(datap[i]);

    3.Matcher 인스턴스에 boolean matches()를 호출해서 정규식에 부합하는지 확인한다.

  • if(m.matches())
    or

  • while(m.find()){

    }

정규식패턴

연습

"A borken hand works, but not a broken heart."

1."broken"을 find()로 찾은 후 처음으로 m.appendReplacement(sb,"drunken")가 호출되면 데이타(soruce) 시작부터 "broken" 찾은위치까지의 내용에 "drunken"을 더해서 저장

  • "A drunken
  1. find()는 첫번쨰로 발견된 위치부터 시작하여 다시검색 두번쨰 "broken" 을 찾게 된다.다시 m.appendReplacement(sb,"drunken") 호출
  • "A drunken hand works, but not a drunken
  1. m.appendTail(sb) 호출되면 마지막으로 치환된 이후의 부분을 sb에 붙인다.
  • "A drunken hand works, but not a drunken heart."

+a

  • find()는 패턴과 일치부분이 있으면 true 아니면 false 반환
  • Matcher의 find() 로 일치패턴을 찾으면 start()와 end() 로 위치를 알아낼수있고 appendReplacement(StringBuffer sb,String replacement)를 이용해서 원하는 문자열(replacement) 로 치환 할수 있다.
  • 치환된 결과는 StringBuffer인 sb에 저장된다.
profile
호주쉐프에서 개발자까지..

0개의 댓글