답답합니다. 해결좀..해주세요..정규표현식에 관해..
본문
소스가 이렇구요.
if (ereg("([^[:space]]+)", $subject)) {
echo ("입력하신 제목은 $subject 입니다");
} else {
echo ("공백이거나 입력값이없습니다");
}
근데요. 헷갈립니다. 위의 소스와
if (ereg("(^[[:space]]+)", $subject)) {
echo ("입력하신 제목은 $subject 입니다");
} else {
echo ("공백이거나 입력값이 없습니다");
}
이거와 차이가 뭐지요?단지 차이는 ([^[ 와 (^[[ 인데...책을봐도 헷갈리네요.부탁드립니다.
그럼........
답변 2
안녕하세요.
[:space:]의미는 아시다시피 공백을 나타내는 정규표현식입니다.
^의 의미는 라인의 맨 처음을 나타내고요,
[]는 집합의 의미를 가집니다.
^의 의미가 []안에 들어갈때는 라인의 맨 처음이 아닌 '!'와 같은
not의 의미가 되어버립니다.
ereg("([^[:space]]+)", $subject)라인은 문자열 중에 공백이 아닌 것을 찾고, ereg("(^[[:space]]+)", $subject)라인은 맨처음이 공백이 아닌것을
찾게 됩니다.
그럼 즐프하세요 ^^;
[: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:]] : 공백 문자 ( )를 의미한다.
답변을 작성하시기 전에 로그인 해주세요.