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