我有这个字符串:“51。有些东西:”和想在ruby中使用reg ex提取“某些东西”。谁能指出我正确的方向来匹配a。和a:丢弃其他所有东西?
答案 0 :(得分:1)
这应该这样做:
(?<=\.).+?(?=:)
如果您想避免匹配中的前导和尾随空格,可以使用:
(?<=\.\s*)\S.*?(?=\s*:)
编辑:我刚检查过,发现Ruby不支持lookbehind,这里使用的是lookbehind。或者,您可以使用此方法并捕获正则表达式:
\.\s*(\S.*?)\s*:
答案 1 :(得分:1)
'51. some thing:'.sub /.*\. *([^:]*).*/, '\1'
=> "some thing"