루비

2015-01-12 1 views
1

보통 내가이 여러 개의 "M"코드 위루비

a = "Im the prowerful man" 
puts a.match(/(m)/im)[1] 

펄에서만 최초의 "M"

일치 일치하지 않습니다

$a =~ m/(m)/sig 

에서 여러 행과 일치하는 방법 루비와 비슷하게하는 방법

답변

3

string.match 대신에 string.scan을 사용하십시오. e match 함수는 첫 번째 일치 항목 만 반환합니다.

> a = "Im the prowerful man" 
> a.scan(/m/im) 
=> ["m", "m"] 
> a.scan(/(m)/im) 
=> [["m"], ["m"]] 

출력의 다차원 배열은 정규식에있는 캡처 그룹 때문에 발생합니다.