이 정규식은 JavaScript에서 유효하지 않습니다. 잘못된 그룹이 있다고합니다. 누군가 나를 도와 줄 수 있습니까?정규식이 JavaScript에서 유효하지 않습니다.
(?i)^(?![\. -])(?!.*[\. -]$)[\w!$%'*+/=?^`{|\.}~ -]{1,64}$
이 정규식은 JavaScript에서 유효하지 않습니다. 잘못된 그룹이 있다고합니다. 누군가 나를 도와 줄 수 있습니까?정규식이 JavaScript에서 유효하지 않습니다.
(?i)^(?![\. -])(?!.*[\. -]$)[\w!$%'*+/=?^`{|\.}~ -]{1,64}$
업데이트 : 의견에 제시된 제안에 따라 업데이트하십시오.
대신이 세 표현식 중 하나를 사용하십시오. 동일한 정규 표현식이며 (?i)
부분을 수정하고 Javascript 사양과 일치하도록 필수 이스케이프를 추가합니다. 당신이 당신의 정규식 개체를 구성하는 new RegExp
를 사용하는 경우
var regex = new RegExp("^(?![\\. -])(?!.*[\\. -]$)[\\w!$%'*+/=?^`{|\\.}~ -]{1,64}$", "i");
var regex = new RegExp('^(?![\\. -])(?!.*[\\. -]$)[\\w!$%\'*+/=?^`{|\\.}~ -]{1,64}$', "i");
var regex = /^(?![\. -])(?!.*[\. -]$)[\w!$%'*+/=?^`{|\.}~ -]{1,64}$/i;
, 당신은 모든 백 슬래시를 이스케이프해야합니다. 첫 번째와 두 번째 표현의 차이점은 두 번째 표현식이 작은 따옴표를 사용하여 정규 표현식 문자열을 구성하고 정규 표현식의 일부로 작은 따옴표가 있기 때문에 작은 따옴표를 이스케이프 처리하여 제대로 작동하게해야한다는 것입니다. 세 번째 식에서는 /pattern/flags
구문을 사용하여 정규식 개체를 만듭니다. 마이크가 의견에 지적한대로 /
이 문자 집합 안에 없으면 탈출해야합니다. /
은 모두 문자 집합 안에 있으므로 이스케이프가 필요하지 않습니다. 더 비 이스케이프 슬래시가 Darthg8r에 대한 문제가되지 않습니다 자바 스크립트 정규식 여기 https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/RegExp
(?i)
자바 스크립트 정규식 내부 모드 수정을 지원하지 않습니다.
구문에 대한
체크 아웃 :'새 정규식 ('A/B') 같은이 '완벽하게 유효합니다. '/ a/b /'는 유효하지 않겠지 만 Darthg8r이 그 일을하는 경우 Darthg8r은 "invalid group"오류 메시지를받지 못할 것입니다. – ruakh
하지만 코드가 작동하기 때문에 +1하십시오. :-) – ruakh
물론입니다. 저는 OP가 그것을 알고 있는지 확인하기를 원합니다. 그가'new RegExp'를 사용한다면'\\'기호를 벗어나야 만합니다. 나는 OP가 그의 정규식을 사용하는 맥락에 대해 확신하지 못한다. –