2012-10-03 5 views
-3

왜 하나의 정규식이 검색 및 일치 방법에 대해 다르게 동작합니까?Regex confusion

str = "A man, a plan, a canal -- Panama" 

/\w+/.match(str).to_s #=> #<MatchData "A"> i.e. just "A" 

str.scan(/\w+/)  #=> ["A", "man", "a", "plan", "a", "canal", "Panama"] 

이 메소드는 동일한 결과를 가져야합니다. 그렇지 않아야합니까?

+0

연구 노력을 보이지 않습니다. – keyser

답변

4

match은 첫 번째 경기 만 반환하며, 그 이유는 경기이기 때문에 scan은 모든 경기를 반환합니다. 사용 된 정규 표현식은 실제로 똑같이 작동합니다. See this.