사용자가 영숫자와 점 문자만으로 사용자 이름을 입력하길 원합니다. 그래서 나는 다음과 같은 정규식 패턴을 썼다 :2 개의 정규식 패턴의 차이점은 무엇입니까?
'/([a-zA-Z0-9\.]+)/'
을하지만 그것은과 동일 알고 싶어 패턴 아래
'/([a-zA-Z0-9.]+)/'
2는 동일? 도와 줘서 고마워! :-)
사용자가 영숫자와 점 문자만으로 사용자 이름을 입력하길 원합니다. 그래서 나는 다음과 같은 정규식 패턴을 썼다 :2 개의 정규식 패턴의 차이점은 무엇입니까?
'/([a-zA-Z0-9\.]+)/'
을하지만 그것은과 동일 알고 싶어 패턴 아래
'/([a-zA-Z0-9.]+)/'
2는 동일? 도와 줘서 고마워! :-)
문자 클래스 안에있는 도트를 이스케이프 할 필요가 없습니다. 문자 클래스 내에서 .
및 도트 \.
의 점은 리터럴 점과 일치합니다. 따라서 두 정규 표현식은 동일합니다.
또한 유효성 검사를 위해 '/^[a-zA-Z0-9.]+$/'
과 같은 앵커를 추가하는 것이 좋습니다. 앵커는 정확한 문자열 일치를 수행하는 데 사용됩니다. 즉 /[a-zA-Z0-9.]+/
정규 표현식은이 ()foo
입력 문자열에서 부분 문자열 foo
과 일치하지만 정규 표현식에 /^[a-zA-Z0-9.]+$/
과 같이 시작 및 끝 앵커를 추가하면 위에서 언급 한 문자열의 단일 문자와도 일치하지 않습니다. 하나 이상의 영숫자 또는 점 문자 만 일치시킬 수 있습니다. 점 또는 영숫자가 아닌 문자를 찾으면 정규식 엔진이 해당 문자열과 일치하지 않습니다.
내가 아는 한 당신은 도트를 벗어날 필요가 없기 때문에 똑같습니다! – Rizier123
캡처 그룹을 사용할 필요가 없습니다. –