[완료] 정규식에서 글자를 얻으려고 합니다.
글쓴이: flowerdog / 작성시간: 목, 2007/10/04 - 11:19오전
정규식 초보입니다.
"== 제목 =="
위와같은 텍스트가 있다면 아래와 같은 정규식으로
^(?<first>=+)(?<title>.*)(?<last>=+)$
처리하면
${first} 는 "==" ${title} 은 " 제목 " ${last} 는 "=="
위와같은 결과가 나오리라 기대했습니다. 그러나 결과는 다음과 같습니다.
${first} 는 "==" ${title} 은 " 제목 =" ${last} 는 "="
기대한대로 글자를 자르려면 어떻게 해야할까요?
Forums:
정규식의 특징입니다
title을 .*으로 정했으므로, last의 =+를 만족하면서, 가장 크게 취한 결과가 " 제목 ="입니다. .* 대신 [^=]* 등으로 한정하면 되겠습니다.
kz님 감사드립니다.
kz님 감사드립니다. 그런데 제가 질문을 할 때 가정하지 못한 경우가 나타났네요.
위와같은 경우도 아래와 같은 결과가 나와야 합니다.
이렇게 됐으면 하는데 다른 방법이 있을까요?
답변 다시 한 번 감사드립니다.
title에 .* 대신 .*? 를 사용하면 됩니다.
^(=+)(.*?)(=+)$
'.*'은 가장 크게 취한 결과, '.*?'는 최소로 취한 결과를 가져옵니다.
두 분 모두 감사드립니다.
두 분 모두 감사드립니다. 덕분에 프로그램이 잘 돌아가네요.
댓글 달기