2009-08-17 7 views
0

안녕하세요 클래스 정의에서 매개 변수를 추출하려고합니다.Ruby에서 AS3 인수 일치 RegEx

class locale.company.app.LoginData(username:String, password:String) 

패키지 이름과 클래스 이름을 추출했지만 매개 변수로 인해 문제가 발생합니다.

나는 다음과 같은 정규 표현식 구성 할 Rubular 나 사용이 작동합니다 Rubular 나에 따르면

http://www.rubular.com/regexes/9597

을하지만 첫 번째 매개 변수와 일치하므로, 그렇지 않습니다. 그래서 내가 대신 정규식을 시도 :

classDescription = "class locale.company.app.LoginData(username:String, password:String)" 
fieldMatches = classDescription.match(/(((\w+\s*):(\s*\w+))(\s*,\s*)?)+/) 

나는 다음과 같은 코드를 사용하여 일치 출력 :

fieldMatches.to_a.each {|m| puts m} 

을 그리고이 결과를 얻을 : 이것은 단지 일치한다

username:String, password:String 
password:String 
password:String 
password 
String 
, 

어떤 이유로 두 번째 매개 변수. 매개 변수 추출 방법을 아는 사람이 있습니까?

답변

0

나는 오히려 "일치"보다 사용 "스캔"할 생각 :

classDescription = "class locale.company.app.LoginData(username:String, password:String)" 
fieldMatches = classDescription.scan(/(\w+\s*):(\s*\w+)/) 
fieldMatches.each {|m| puts m} 

주는 :

username 
String 
password 
String 
+0

마틴, 나는 그냥 알고 욕심 방법으로했다 우수한 감사합니다. 다시 한 번 감사드립니다. –

관련 문제