无法在ruby中找到特定的正则表达式

时间:2013-12-04 03:55:56

标签: ruby regex

这是我的正则表达式/(.+)(\.|::)(\S+)\Z/
用户输入功能。[]
输出$ 1作为功能,$ 3输出为[]
用户输入功能[]
输出nil
所需的输出为$ 1作为功能和3美元[]。
任何猜测我怎么能改变上面的正则表达式来做到这一点。

2 个答案:

答案 0 :(得分:1)

调用match方法设置$1$3

/(\w+)(\.|::)?(\S+)\Z/.match('mongo.[]')
$1 # => mongo
$3 # => []

/(\w+)(\.|::)?(\S+)\Z/.match('mongo[]')
$1 # => mongo
$3 # => []

答案 1 :(得分:0)

您在寻找/(.+)(\.|::)*(\S+)\Z/吗?

我添加的星号表示零或更多。

/(.+)(\.|::)?(\S+)\Z/

问号表示零或一。