2016-08-26 10 views
-1

für einen regulären Ausdruck der Suche nach dem folgendenRegex für ganze Zahlen und Dezimal

  1. Soll-Wert vor Dezimalstelle übereinstimmen. (Sollte 5 zurück, wenn Wert 5.4 ist)
  2. Ganze Zahl sollte es, wie es angepasst werden (2 im Fall von 2 und 4 im Fall von 4).

könnten die Zahlen 1.2, 2.4, 2.5566, 3.555, 1, 2, 8

Regex 1 entsprechen sollten, 2, 2, 3,1, 2, 8

+1

Mögliche Duplikate von [RegEx für beide, Integer und Float] (http://stackoverflow.com/questions/14550526/regex-for-both-integer-and-float) –

+2

Haben Sie * alles * versucht? –

+0

\ d * (\. \ D {})? testete das gleiche auf verschiedenen Tester Websites, aber alle geben unterschiedliche Ergebnisse. –

Antwort

2

Sie diese Regex verwenden können:

(?:^|[^.0-9])([0-9]+) 

Diese Regex wird Ziffern, die nach einer Dezimalzahl p vorkommen, stimmen nicht überein oder andere Zahlen, die nach einem Dezimalpunkt auftreten.

Mit anderen Worten, es ist die gleiche Zahl, die Sie erhalten würden, wenn Sie einen Float extrahiert und dann Math.floor() (oder gleichwertig) verwendet hätten.

Sie können das Ergebnis in der ersten Erfassungsgruppe finden.

+0

Danke. Das funktioniert. –

+1

@DineshhBhardwaj Bitte fügen Sie nicht gelöst zu Ihrem Fragetitel hinzu. Sie müssen [meine Antwort akzeptieren] (http://stackoverflow.com/help/someone-answers), wenn es Ihnen geholfen hat. – Laurel