我有以下Regexp通过以分号分隔字符串来创建值的哈希值:
Hash["photo:chase jarvis".scan(/(.*)\:(.*)/)]
// {'photo' => 'chase jarvis'}
但是我也希望能够在字符串中包含URL并识别它,以便在URL的值侧维护URL部分,即:
Hash["photo:http://www.chasejarvis.com".scan(/(.*)\:(.*)/)]
// Results in {'photo:http' => '//www.chasejarvis.com'}
我当然想要:
Hash["photo:chase jarvis".scan(/ ... /)]
// {'photo' => 'http://www.chasejarvis.com'}
答案 0 :(得分:2)
如果您只想匹配第一个冒号,可以将(.*)\:(.*)
更改为([^:]*)\:(.*)
。
或者,你可以把它变成非贪婪的比赛,但我更喜欢说“不是冒号”。
答案 1 :(得分:0)
如何找出一个人的姓氏和名字?
除非您有解决方案,否则可能无法将chasejarvis
更改为chase
和jarvis
。
您是否已经知道项目中每个人的名字?没有人拥有像charvisdjarvis
这样的中间名的首字母(假设名字是“Charvis D. Jarvis”。)?