2010-06-02 7 views
1

많은 명령 줄 유틸리티처럼 루비에서 문자열을 구문 분석하는 방법은 무엇입니까? 나는 "command [--opt1=...] [--enable-opt2] --opt3=... arg1"과 비슷한 문자열을 가지고 command(opt1,opt2,opt3,arg1...)과 비슷한 방법을 사용합니다. 인수가 무작위 순서로 나오게하고 싶습니다. 그 중 일부는 선택 사항 일 수 있습니다. 순간 Ruby regexp 명령 줄을 구문 분석

은 내가 구문 분석 예를 에 관해서는, 새로운 명령을 구문 분석 할 필요가 정규 표현식마다 wrilte "lastpost --chan = your_CHANNEL/절 /"

나는이 정규 표현식이 있습니다

text = "lastpost --chan=0chan.ru /s/" 
    command = (text.match /^\w+/)[0] 
    args = text.gsub(/^\w+/,'') 
    if args =~ /[[:blank:]]*(--chan\=([[:graph:]]+)[[:blank:]]+)*\/?(\w+)\/?/ 
     chan = $2 
     section = $3 
     do_command(chan,section) 
    else 
     puts "wrong args" 
    end 

나는 create_regexp (opts, args)를 가지고 있었으면 좋겠다. 정규 표현식을 생성해야한다.

답변

1

좋아, 나는 optparse, 나를

+0

이있는 경우 (하위) 명령을 위해 그것을 수행 'commander' 보석을 확인할 수 있습니다 발견했다. –

관련 문제