2017-03-03 6 views
3

앞에 1-5 자 또는 B 앞에 1-4자를 붙이면됩니다. (\d{1,5}A)|(\d{1,4}B)문자 앞에 4 자리 또는 5 자리 숫자가 일치하는 정규식

을하지만 이것은 A 전에 마지막 4 자리 숫자를 일치 :

그래서 내 정규식은 다음과 같습니다.

모든 솔루션?

(?<!\d)((\d{1,5}A)|(\d{1,4}B)) 

또 다른 해결책은을 필요로하는 것입니다

+0

정확히 무엇이 문제입니까? 'A' 또는'B' 만 일치시키고 싶습니까? –

답변

4

이는 A

전에 마지막 4 자리 숫자가 앞에 하지로 정규식하기 전에 항목을 필요에 일치 단어 경계\b입니다. 의 라인을 따라

lookahead/lookbehind tutorial

+1

['\ b'] (http://www.regular-expressions.info/wordboundaries.html)도 작업을 수행 할 수 있습니다. – sp00m

+0

@ sp00m 좋은 지적, 감사합니다! – dasblinkenlight

+0

나는이 문제를 이해하지 못하고 이것이 왜 해결책이되어야하는지 이해하지 못한다. 귀하의 정규 표현식은 여전히 ​​"A 앞의 마지막 4 자리 숫자와 일치합니다" –

0

뭔가 :

(\d{1,5}A)|(\d{1,4}B) 

나는 cheatsheet에서 살펴 본다 권합니다. 정규 표현식에 익숙하지 않은 경우 이러한 종류의 간단한 정규식을 직접 시도하십시오.

regextester과 같은 온라인 정규식 테스트 앱이있어서 코드를 작성하지 않고 정규식을 테스트 할 수 있습니다.

관련 문제