본문 바로가기

regex

(2)
Java) java.util.regex.Matcher method 정리 java.util.regex.Matcher XML을 조작해서 문서 작성을 자동화하는 프로젝트를 하다보니 정규식을 사용할 일이 아주 많아졌다. 기본적으로 Matcher 클래스의 find, group, start, end 등의 메소드만 활용하고 있었는데 편리한 메소드들이 많은 것 같아 이번 기회에 공부해보고 넘어가려 한다. 기본 사용 방법 Pattenrn PATTERN_EX = Pattern.compile('정규식'); Matcher MATCHER_EX = PATTERN_EX.matcher('검사할 문자열'); while(MATCHER_EX.find()){ System.out.println("문자열에서 정규식 패턴과 일치한 부분: " + MATCHER_EX.group()); } System.out.print..
Java) 정규식과 StringBuffer를 이용하여 문자열 특정 위치만 치환하기 눈으로 확인하기에는 방대한 양의 XML에서 특정 범위를 다른 형식으로 만들어 치환하는 일이 필요했는데 그냥 replace를 하려니 특정 범위가 XML 내에서 중복되는 경우 마지막에 replace 되는 형태로 일괄 변경되었다. 처음에는 그냥 docx로 열리지 않아서 뭐가 문젠지 한참 살펴봤다. 문제는 유니크해야 하는 아이디가 중복되어 오류가 발생하는 것! array와 set에 각각 담아 확인해 보았더니 둘의 개수가 다른 것으로 보아 특정 범위가 중복되는 것들이 있었다!! 그래서 치환하기 전에 특정 범위에 사용되는 rsid를 모두 유니크 하게 만들어주기로 했다. 뽑아서 유니크하게 만들어 주어야 하는 부분의 형식이 정해져있기 때문에 정규식으로 뽑고, 뽑힌 결과의 정확한 위치를 알아내서 String buffer..