문자열
aaaab
을 가지고 다음과 같은 정규 표현식에가 일치하는 방법을 참조하십시오
Regex Submatches
group 1 group 2 group3
(a?)(a*)(ab) a aa ab
(a??)(a*)(ab) aaa ab
(a?+)(a*)(ab) a aa ab
(a*)(a?)(ab) aaa ab
(a*?)(a?)(ab) aaa ab
(a*+)(a?)(ab) aaaa <Match fails!>
(a+)(a*)(ab) aaa ab
(a+?)(a*)(ab) a aa ab
(a++)(a*)(ab) aaaa <Match fails!>
설명 :
a?
시도 하나 a
에 맞게,하지만 준비 있어요 그게 필요한 경우 아무것도 일치시키지 마라. 성공하기 위해 전체 경기.
a??
은 일치하려고 시도하지만 전체 일치가 성공하는 데 필요한 경우 a
과 일치 할 준비가되어 있습니다.
a?+
은 a
과 일치합니다. 그렇게 할 수 있다면 이 아닌이 전체 일치가 성공하는 데 필요한 경우 아무것도 일치하지 않게됩니다. 그래도 a
과 일치하지 않으면 아무 것도 기꺼이 일치하지 않습니다.
a*
은 가능한 한 많은 수의 a
개를 찾으려고 시도하지만, 전체 일치가 성공하는 데 필요한 경우 아무 것도 아니더라도 일치하는 숫자는 a
입니다.
- 은 아무 것도 일치 시키려하지 않지만 전체 경기가 성공하려면 반드시 필요한만큼 많은 수의
a
과 일치 할 준비가되어 있지만 그 이상은 아닙니다.
a*+
은 가능한 한 많은 a
개를 찾습니다.그렇게 할 수 있다면 이 아닌이 전체 일치가 성공하는 데 필요한 경우 a
과 일치하도록 다시 감소합니다. 비록 하나의 a
조차도 일치하지 않는다면 기꺼이 일치하지 않을 것입니다.
a+
은 가능한 한 많은 수의 a
개를 찾으려고 시도하지만 전체 일치가 성공하는 데 필요한 경우 a
(적어도 하나)과 일치하도록 준비되었습니다.
a+?
은 a
한 개와의 일치를 시도하지만 전체 일치가 성공하려면 반드시 필요한만큼 많은 수의 a
개를 준비 할 수 있지만 그 이상은 아닙니다.
a++
은 가능한 한 많은 a
개를 찾습니다. 그렇게 할 수 있다면 이 아닌이 전체 일치가 성공하는 데 필요한 경우 a
과 일치하도록 다시 감소합니다. 단일 a
조차도 일치하지 않으면 정규식이 실패합니다.
왜? 누군가 어딘가에서 그들을 사용하기 때문에? 정규식 문서를 읽고 IRB 또는 rubular.com을 사용하여 작업을 수행하고 작동 방식을 확인하고 향후 학습 한 내용을 기억할 시간이 필요합니다. 프로그램을 배우는 많은 사람들은 사소한 변화의 효과를 관찰하고 사람들에게 그러한 것들을 설명하도록 요구하지 않는 실험입니다. –
http://www.regular-expressions.info/possessive.html – Phrogz
@TimPietzcker 저에게 투표 해 주셔서 감사합니다. 내게는 중요하지 않지만 투표가 아래로 내려 가면 '새로운 글들'에 고정 될 것입니다. 이것은 치명적입니다. 나는 그러한 표결에 최소한 개입되어 있지만 그러한 개념을 갖기 위해 너무 예리한 개념을 가진 사람들을 너무 많이 강조합니다. 그러나 며칠이 지난 지금부터 일부 사용자들은 질문의 중요성을 알지 못하고 다른 사람들에게'투표를하지 말자 '고 생각하고있다. 내 '포스트'를 이해하지 못한다면 괜찮아. 그러나 대답이 게시되었을 때 대답이 너무 많이 알려지면 왜 투표하지 않은 사람으로 다시 돌아 오지 않습니까? – DoLoveSky