2015-02-02 4 views
1

정규식에 문제가 있습니다. 편지와 숫자/마침표/하이픈의 조합을 찾으려고합니다. 따라서 항상 대문자로 시작하고 숫자, 마침표 또는 하이픈 다음에 공백이옵니다. 그래서이 모든정규식 번호 또는 기간

  • D7
  • A.
  • H-

을 작동해야하지만이하지

  • GJ
  • G6. (없음 공간 AF해야

    (?<= |^)[A-Z][\d.-](?= |$) 
    

    은 참고 demo

    마이너를 참조하십시오 : 순간

) 두 번째 PARAM ter에게 나는

[A-Z]{1}\d{1}|\.\s 
+0

'[A-Z] {1} \ d {1} | \. \ s' –

+0

''공백 문자 '뒤에는 공백 문자 또는'\ s'가 나타내는 문자를 의미합니까? 그것은 공간을 의미하기 때문에, 탭하거나 문자를 입력하십시오. –

답변

1

당신은 문자 클래스를 필요로 성공하지 않고 노력 오전를 문자 클래스의 시작 또는 끝에있는 하이픈은 리터럴 하이픈 (범위가 아님)입니다.

기타 마이너 FYI : 수량 한정자 {1}은 중복/묵시적입니다. 추가 할 경우 차이가 없으므로 (정규식은 이미 읽기가 어렵습니다).

+1

@Jorge 그것은 타이포였습니다 - 내 시력은 그렇게 좋지 않았습니다 :/지금 고쳐 주셔서 고마워요. – Bohemian

+0

브릴리언트, 첫 번째 작품처럼 보인다. '[AZ] [\ d .-] \ s' –

+0

@NickPrice'\ s' 제어 문자는 공백뿐만 아니라 엔터 또는 공백을 의미한다는 것을 기억하십시오. 탭 문자 그래서 보헤미아 (첫 번째)에 의해 제공되는 대답은 이미 정규식 끝에 공백이 있기 때문에 변경이 필요하지 않습니다. –