2016-04-11 19 views
-1

ile başlamalıdır. Bu örnek için hello.1.2.3.4.world Bana 1.2.3.4 veren bir sonucu uydurmak istiyorum. Noktalar arasındaki hane sayısı önemli değil. digit.digitRakamlarla ve noktalarla eşleştirilir. İlk

modelini izlediğim sürece, benim çözümüm,düzenli ifadesini izliyordu, bu da bana .1.2.3.4 sonucunu verdi. İlk noktayı trim veya benzer bir yöntemle keserim.

Sadece bir düzenli ifadeyle ilk noktayı nasıl atacağımı söyleyebilen herhangi bir regexp yöneticisi mi?

+2

Burada daha ayrıntılı bilgi veya örnek vermek gerekir. Sadece tek haneli var mı yoksa daha fazla olabilir mi? Her zaman 4 var mı? – Joni

+0

ifadesi her zaman bu 'word.sd.sd.sd.sd.word' ifadesidir? * sd = tek haneli – nullpointer

+1

Sadece ['\ d + (?: \. \ d +) *'] (https://regex101.com/r/tQ9kE1/1) yapılacaktır. Veya ['\ b \ d + (?: \. \ D +) * \ b'] (https://regex101.com/r/tQ9kE1/2) –

cevap

1

nasıl bu konuda: \.(\d(?:\.\d)*)\.\D

DÜZENLEME:

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

Demo

+0

Düzen öneriden geliyor - neden açıklamıyorsunuz? –

+0

Açıklama, demo bağlantısının kendisinde verilmiştir. –

0

Eğer başında lookahead koyabilirsiniz geçerli regex kullanmak istiyorsanız ve kaçış (?=\d)[\d.]+\.[^.a-z]

karakter grubunun içinde bulunmadığı zamanki nokta 10

Gözcü (?=\d), eşleşen ilk karakterin bir rakam olduğundan emin olacaktır.

Demo here

İlgili konular