답답합니다. 해결좀..해주세요..정규표현식에 관해..

답답합니다. 해결좀..해주세요..정규표현식에 관해..

QA

답답합니다. 해결좀..해주세요..정규표현식에 관해..

본문

소스가 이렇구요.
if (ereg("([^[:space]]+)", $subject)) {
echo ("입력하신 제목은 $subject 입니다");
} else {
echo ("공백이거나 입력값이없습니다");
}

근데요. 헷갈립니다. 위의 소스와
if (ereg("(^[[:space]]+)", $subject)) {
echo ("입력하신 제목은 $subject 입니다");
} else {
echo ("공백이거나 입력값이 없습니다");
}
이거와  차이가 뭐지요?단지 차이는 ([^[ 와 (^[[ 인데...책을봐도 헷갈리네요.부탁드립니다.
그럼........

#if

이 질문에 댓글 쓰기 :

답변 2

안녕하세요.

 [:space:]의미는 아시다시피 공백을 나타내는 정규표현식입니다.
 ^의 의미는 라인의 맨 처음을 나타내고요,
 []는 집합의 의미를 가집니다.

 ^의 의미가 []안에 들어갈때는 라인의 맨 처음이 아닌 '!'와 같은
not의 의미가 되어버립니다.
 ereg("([^[:space]]+)", $subject)라인은 문자열 중에 공백이 아닌 것을 찾고, ereg("(^[[:space]]+)", $subject)라인은 맨처음이 공백이 아닌것을
찾게 됩니다.

 그럼 즐프하세요 ^^;

문자 클래스(character class)

패턴을 [a-z]나 [A-Z], [0-9]로 표현하는 대신 다음과 같이 문자 클래스(character class)로 간단하게 표현할 수도 있다.

  • [[:alpha:]] : 알파벳 문자 중 하나를 의미하며 [a-zA-Z], 또는 [a-Z]와 동일한 표현이다.
  • [[:digit:]] : 숫자 한 자를 의미하며 [0-9]와 동일한 표현이다.
  • [[:alnum:]] : 알파벳 문자나 숫자 중 하나를 의미하며 [a-zA-Z0-9]와 동일한 표현이다.
  • [[:space:]] : 공백 문자 ( )를 의미한다.


답변을 작성하시기 전에 로그인 해주세요.
전체 123,534 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT