2013-02-17 4 views
-2

두 알파벳과 3 자리 숫자 형식으로 표현을 작성하고 싶습니다. TT234정규 표현식 작성 방법

([A-Z]2+[0-9]+) 

위 내용은 제가 작성한 것이지만 오류가납니다. 아무도 그것에 대해 언급 할 수 있습니까?

날, 내 문제를 다시 기본적으로 나는 그것이를 확인 않지만 내가 ([A-Z]{2}[0-9]{3})에 정규식 표현을 변경 한 후

RewriteEngine On # Turn on the rewriting engine 
RewriteRule ^test/(home|member|admin)/([A-Z]{2}[0-9]{3})/(xml|json)$ localhost/username/index.php?type=$1&id=$2&format=$3 [L] 
RewriteRule ^test/.*$ localhost/username/error.php [L] 

그리고 지금은이 오류 xmlParseEntityRef: no name 무엇입니까 htaccess로의 재 작성 URL 매개 변수 제약 조건을 쓰고 보자 param 올바르게.

+0

를 사용 ?? 그 (것)들에 많은 다른 종류 및 문자로 전체적인 책이있다. –

답변

1
귀하의 정규식 하나 개의 대문자 ASCII 문자에 대해 일치되는

, 하나 또는 그 이상을 "2"다음에 여기 POSIX 소비 정기 Expresions에서 무엇을해야하는 방법이다 적어도 하나의 숫자.

예 : 정확히 2 개 문자를 지정하려면

  • A2123456788990
  • Z20
  • , 당신은 정량 +를 사용하지 말아야합니다, 당신은 할 수 {2}을 사용하십시오. 당신이이 "2", 그때는 "2"문자 그대로 일치 작성하는 경우는 3 자리 숫자와 일치 할 경우

  • 숫자에 대한 동일,하는 {3} 대신 쓰기 +

  • 당신의 취향과 방법에 따라 Anchor 정규 표현식이 필요합니다. 그렇지 않으면 부분 일치가됩니다.

    당신은 어느 텍스트 만이 문자열

    ^[A-Z]{2}[0-9]{3}$ 
    

    더 큰 문자열이 패턴을 찾으려면 구성 시작과 문자열의 끝을위한 ^$,이 작업을 수행 할 수 있습니다 다음 Wordboundaries 당신이 정규식을 작성하는 무엇

    \b[A-Z]{2}[0-9]{3}\b 
    
+0

여전히 작동하지 않습니다. RewriteRule ^/(^ [AZ] {2} [0-9] {3} $)/(xml | json) – user236501

+0

@ user236501, 아직 앵커가 없습니다. 내 솔루션에서 썼던 것을 사용하지 마라. 나는 그것이 완전한 패턴이라고 생각했다.파일 확장자를'(xml | json)'과 일치시키고 싶지만 확장자 앞에있는 파일 이름과 일치하지 않는 것 같습니다. 안녕하세요, 나는 아직도 그것을 재 작성하는 데 문제가 있습니다 : RewriteEngine On #^([AZ] {2} [0-9] {3})/[^. /] + (xml | json) $' – stema

+0

안녕하세요, 다시 쓰기 엔진 켜기 RewriteRule^test/(home | member | admin)/([AZ] {2} [0-9] {3})/(xml | json) $ http : // localhost/username/index .php? type = $ 1 & id = $ 2 & format = $ 3 [L] RewriteRule^test /.*$ http : //localhost/username/error.php [L] – user236501

1

정규 표현식의 구문이 다릅니다.

[A-Z]{2}[0-9]{3} 
0

이 같은 시도 :

([A-Z]{2}[0-9]{3})