아직 완전히 이해하지 못했다고 생각하는 PHP 문자 클래스에 대해 알고 싶습니다. 우리가 w3schools.com에서이 코드 조각을 보자 :PHP 정규 표현식 - 문자 클래스
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if (empty($_POST["name"])) {
$nameErr = "name is required";
} else {
$name = test_input($_POST["name"]);
if (!preg_match("/^[a-zA-Z ]*$/",$name)) {
$name = "";
$nameErr = "Only letters and white space allowed";
}
}
}
이의는의 닫는 대괄호 옆에 별표 (*)가 세 번째 "경우"조건이 존재하지 않았다고 가정 해 봅시다. 다시 말해, "0 번 이상"이 아니라 단순히 "한 번"이라고 말합니다.
내 질문은 다음이다 : 나는 제이슨과 같은 이름을 입력 한 경우
- , 나는 오류 메시지가 표시 것인가?
- * 기호가 없으면 문자 클래스는 하나의 문자와 만 일치 할 수 있습니까?
- 즉, 단순히 Jason이 아닌 텍스트 필드에 J를 입력했다면 해당 입력을 인쇄 할 수 있습니까?
뷰어가 소스 코드를 변경할 수 없기 때문에 w3schools.com에서 테스트 할 수 없습니다. 나는 코드 "/ ([a-zA-Z]) /"를 입력하고 Jason 문자열에 대해 테스트 할 때 모든 문자가 일치하는 대신 온라인 정규식 검사기 http://www.regexr.comand을 사용하고 있습니다! 이것은 사실이 아니어야합니다. 나는 틀린 것을 얻어야한다.
정규 표현식 및/또는 PHP를 배우려면 실제로 코드를 실행하기 위해 조만간 설치해야합니다. 순수한 이론 교육은 불가능하다고 생각합니다. –
그리고, BTW,'^'는 "start with"를 의미하고'$'는 "end with"를 의미합니다. 그것이 실제로 차이를 만드는 것입니다. –
['Here'] (http://www.regular-expressions.info/tutorial.html)는 – Enissay