2016-04-11 10 views
-1

この例ではhello.1.2.3.4.world私は1.2.3.4という結果を得たいと思います。ドット間の桁数は関係ありません。それが続く限り、digit.digitパターン数字とドットの一致方法。最初に数字で始める必要があります

私の部分解決は正規表現[\d.]+.[^.a-z]に従っており、結果として.1.2.3.4となります。そして私はトリムまたは同様の方法を使用して最初のドットを取り除きます。

1つの正規表現だけで最初のドットを削除する方法を教えてもらえますか?

+2

詳細や例を挙げる必要があります。一桁しかないの?いつも4はありますか? – Joni

+0

は常にこの 'word.sd.sd.sd.sd.word'という表現ですか? * sd = 1桁 – nullpointer

+1

['\ d +(?:\。\ d +)*]](https://regex101.com/r/tQ9kE1/1)で行うことができます。または、「[\ b \ d +(?:\。\ d +)* \ b'](https://regex101.com/r/tQ9kE1/2) –

答えて

1

これはどう:\.(\d(?:\.\d)*)\.\D

EDIT:

(\d+(?:\.\d+)*)

Demo

+0

私の提案には編集があります。 –

+0

デモリンク自体について説明します。 –

0

あなたは開始時に先読みを置くことができ、あなたの現在の正規表現を使用したい場合は、エスケープ文字グループ内にないときのリテラルドット(?=\d)[\d.]+\.[^.a-z]

ルックアヘッド(?=\d)は、最初に一致した文字が数字であることを確認します。

Demo here

関連する問題