2016-06-02 5 views
-3
^(.*)\. 

http://regexr.com/を使用して、上記の正規表現を作成しました。正規表現から「グループ」を取得します。一致しません。

"。"の最後を除くすべてを取得したい分離された文字列。しかし、この正規表現は

1.0.15.544. 

に一致する

1.0.15.544.4 ---I need --> 1.0.15.544 

すなわち

しかし、私はそのウェブサイト上で試合にカーソルを合わせると、それは、「グループ#1を言う:1.0.15.544

がありますどのようにしてこの "グループ"と一致するのではないのですか?

+2

使用しているツールによって異なります。プログラミング言語には、常にサブデータにアクセスする手段があります。 –

+0

Wiktorによると、それはツールと正規表現の味に依存します。しかし、ほとんどの味は正の先読みをサポートしています。これで、後ろのドットなしで、完全なマッチを得ることができます。私。 '^(。*)(?= \。)'はあなたのために働くかもしれません。ドットがそこにあることを確認しますが、*一致しません。 – ClasG

+0

私はこれを必要とするコンテキストは、アプリケーション開発の種類を含まない、それだけで正規表現の使用を許可 – Havnar

答えて

1

肯定的な先読みでこれを行うことができます。試してみてください

^.*(?=\.) 

これは最後のドットまですべて一致します。次に、一致することなく、ドットが続くことをチェックします。注:キャプチャグループは、パフォーマンスにマイナスの影響がありますが、明らかに不要なので削除しました。

See it here at regex101

関連する問題