0
정규 표현식이 작동하는 데 문제가 있습니다.자바 정규식 선택 문자
정규 표현식은 다음과 같습니다
([0-9]m)* ([0-9]f)*
디지트는 선택 사항입니다 "m"또는 "F"하지만 "m"또는 "F"앞에 와야합니다. 예 :
1m 2f
1m
6f
무엇이 잘못 되었습니까?
정규 표현식이 작동하는 데 문제가 있습니다.자바 정규식 선택 문자
정규 표현식은 다음과 같습니다
([0-9]m)* ([0-9]f)*
디지트는 선택 사항입니다 "m"또는 "F"하지만 "m"또는 "F"앞에 와야합니다. 예 :
1m 2f
1m
6f
무엇이 잘못 되었습니까?
*
은 이전 토큰과 0 회 이상 일치하므로 원하는대로 표시되지 않습니다.
이 당신이 필요로하는 정규 표현식을 구축하는 데 도움이 될 것입니다
?
는 0 또는 1 일치를 의미하는.|
교대로.(?:...)
(비 캡처 그룹).^
및 $
은 문자열의 시작과 끝 부분에 앵커를 지정합니다.여러분이 직접 해결책을 찾을 수 있다고 생각하지만, 완성을 위해 가능한 해결책을 하나 제시 할 것입니다.
귀하의 질문은 그냥 당신이 원하는 가정거야, 그래서 매우 명확하지 않은 일치하도록 다음
1m 2f
1m
6f
0m
을하고 원하는 것을 일치하지하려면 다음
1
m
11m
1m 1m
2f 3m
1m 2f
"1m 2f"
이러한 가정이 올바르지 않은 경우 질문을 명확하게 작성하십시오. 이러한 전제와
는,이 시도 :
^[0-9]m(?: [0-9]f)?$|^[0-9]f$
당신은 또한 2f 3m
다음과 일치 사용하려면이 :
^[0-9]m(?: [0-9]f)?$|^[0-9]f(?: [0-9]m)?$
방법에 대한 [0-9] (m | F)? – BeRecursive
'2f 1m'을 허용해야합니까? '2m 1m'은 어떻습니까? '11m'은 어때? –
"m"또는 "f"가 선택 사항이라고하면 자체적으로 '1'입니까? – Gareth