2012-10-12 2 views
1

RegEx 도움말을 조금 훑어 보았습니다.하지만 제가 도움이 필요하다고 생각합니다. RegEx를 사용하면이 방법이 가능하다고 생각하지만 방법을 파악할 수는 없습니다.처음이나 끝 부분에 아무 것도없이 정규식을 정확히 일치시키는 방법은 무엇입니까?

이것은 내가 찾고있는 일치입니다. 일치하지 않으면 정확히 알고 싶습니다.

\w{2,4}\s\d{4} 

기본적으로 공통된 학교 과정 이름과 일치해야합니다. 다음과 같은 요구 사항은 다음과 같습니다

  1. 첫 번째 부분은 다른있는 경우 이

사이에 공백이 있어야합니다

  • 두 번째 부분은 정확히 4 개 개의 숫자
  • 2-4 문자입니다 이것에 대한 변형 나는 다음 번에 실행되는 코드를 멈추고 싶다. 공백에 대해 왼쪽 끝과 오른쪽 끝을 쉽게 다듬을 수 있지만 그 안에 아무것도 없는지 확인하려고합니다.

    내 문제는 내 현재 표현이 누군가가 COMD 1500-B에 넣을 수있게한다는 것입니다. 나는 여전히 경기를하고 그 이유를 이해하지만 누군가가 4 개 이상의 숫자를 입력하면 나는 멈추고 오류를 던질 수 있습니다. 뿐만 아니라 4 자 이상을 보유하고 있습니다. 나는 {}가 최대를 만들기로되어 있다고 생각했다.

    +0

    [문자열 앵커의 시작과 끝] (http://www.regular-expressions.info/anchors.html)을 사용하고 있습니까? (예 :'\\ w {2,4} \ s \ d {4} $')? – NullUserException

    +0

    처음에는 ^를 사용하고 끝 부분에 $를 사용하십시오. –

    답변

    1

    ^은 문자열의 시작을 나타내며, $은 문자열의 끝을 나타냅니다. 따라서 ^\w{2,4}\s\d{4}$은 문자열 일치의 하위 집합이 아닌 전체 문자열이 패턴과 일치하도록합니다.

    +0

    그게 그 의미입니다 ... 나는 결코 게시물을 찾을 수없는 명백한 것입니다. 타이. – Leeish

    +0

    \ s는 공백, 탭, 캐리지 리턴 및 줄 바꿈 중 하나 일 수 있습니다. 공백을 원하면 \ s를 공백으로 대체하십시오. – pogo

    0

    단지 대문자가 허용되는 경우, 다음 \s\s+ 교체, 정규식 패턴

    ^[A-Z]{2,4}\s+\d{4}$ 
    

    하나의 공백 문자가 허용되면 갈

    ^[a-zA-Z]{2,4}\s+\d{4}$ 
    

    당신은 정규식 패턴으로 이동 갈까요. 그리고 그러한 공백이 스페이스 바 문자 만인 경우 (예, 공백 문자가 더 많음) \s을 스페이스 바 문자 으로 바꿉니다.

    ^[A-Z]{2,4} \d{4}$ 
    
    관련 문제