2010-12-21 9 views
0

私はこの文字列を持っています: "51.いくつかの事:"
とルビーのreg exを使用してちょうど "何か"を抽出したいと思います。誰でも正しい方向に向けることができますか?と:と他のすべてを捨てる?Ruby RegExとの間で一致する。と

答えて

1
'51. some thing:'.sub /.*\. *([^:]*).*/, '\1' 
=> "some thing" 
+0

すごい!ありがとう、私は本当に座って、reg exを学ぶ必要があります。ある日... – Danny

1

これはそれを行う必要があります。

(?<=\.).+?(?=:) 

はあなたがリードして試合に末尾のスペースを避けたい場合は、これを使用することができます:

(?<=\.\s*)\S.*?(?=\s*:) 

編集:私はちょうどチェックして気づきましたRubyはここで使用されるlookbehindをサポートしていません。また、あなたはこれを使用して、結果として、正規表現のキャプチャを取ることができます。

\.\s*(\S.*?)\s*: 
+0

Rubyは現在、後読みをサポートしてここに記載されている最初のソリューションが機能するようになりました。 –

関連する問題