테스트 사이트 - 개발 중인 베타 버전입니다

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

포도야놀쟈 10년 전 조회 2,754

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

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트
안녕하세요.



 [:space:]의미는 아시다시피 공백을 나타내는 정규표현식입니다.

 ^의 의미는 라인의 맨 처음을 나타내고요,

 []는 집합의 의미를 가집니다.



 ^의 의미가 []안에 들어갈때는 라인의 맨 처음이 아닌 '!'와 같은

not의 의미가 되어버립니다.

 ereg("([^[:space]]+)", $subject)라인은 문자열 중에 공백이 아닌 것을 찾고, ereg("(^[[:space]]+)", $subject)라인은 맨처음이 공백이 아닌것을

찾게 됩니다.



 그럼 즐프하세요 ^^;
로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

B
10년 전

문자 클래스(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:]] : 공백 문자 ( )를 의미한다.
로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인