본문 바로가기

STUDY/Java

Java | 정규식으로 특정 문자 사이 값 추출하기

정규식은 너무 어렵다..

  • \b는 단어의 경계를 의미
  • ()괄호로 묶은 값은 group이다.
  • matcher.group(2)(.*?)의 값을 의미한다.
private String getDefaultValue (String str) {
  Pattern pattern = Pattern.compile("(\\b특정단어\\b)(.*?)(\\b특정단어\\b)");
  Matcher matcher = pattern.matcher(str);
  if(matcher.find()){    // 정규식과 매칭되는 값이 있으면
      return matcher.group(2).trim();        // 특정 단어 사이의 값을 추출한다
  }
  return null;
}

정규식 테스트 해볼 때 유용한 사이트

 

RegExr: Learn, Build, & Test RegEx

RegExr is an online tool to learn, build, & test Regular Expressions (RegEx / RegExp).

regexr.com