2016-05-27 14 views
0

Ich habe Regex gebaut, die ordnungsgemäß mit PHP funktioniert, aber nicht in Javascript aufgrund ungültiger Gruppenstruktur Fehler funktioniert.Wie lookbehind PHP Struktur von Regex in Javascript ersetzen?

Ich weiß, es ist, weil Javascript keine Lookbehind-Ausdrücke unterstützt. Ich habe versucht, es zu konvertieren, aber nicht dazu in der Lage.

Regex Link: https://regex101.com/r/bC4hN2/1

Regex Ausdruck: | (. \ D +)? (? < =^| |).? (? < = ^) (? = $ |) \ D + (= $ |)

Acceptance Criteria: Werte zwischen 0 und 1 und sollte beginnen mit Dezimalpunkt

Gültige Einträge

liegen sollte 10
  • .20
  • .1
  • ungültige Einträge

    • 1,20
    • 1,0
    • 0,20
    • Diese Szenarien funktionieren ordnungsgemäß mit PHP Regex Expression, aber nicht mit Javascript aufgrund von Fehlern.

      Wie soll ich es in Javascript oder einen anderen Ausdruck konvertieren, um mein Szenario zu erreichen?

      Dank

    +3

    Sie benötigen einen regulären Ausdruck für das? Warum nicht den Wert in einen Gleitkommawert umwandeln und prüfen, ob er zwischen 0 und 1 liegt. –

    +1

    Beispiel für _Regex Overkill_? – Tushar

    +0

    Ja, ich brauche Regex dafür. (Nicht gut in Regex) Ich versuchte mehrere, aber nicht in der Lage, mein Szenario zu erreichen. Ich baute oben durch die Kombination von zwei ich online gefunden. Aber es funktioniert in PHP und nicht in Javascript. –

    Antwort

    0

    Dies kann leicht in den Kommentaren wie erwähnt getan werden, aber lassen Sie uns Ihre Regex ändern. (Ihr Spiel ist in der ersten Erfassungsgruppe)

    (?:\s|^)([01]\b|(?:\.\d+))(?=\s|$) 
    

    Regex Demo

    +0

    Vielen Dank! Es hat perfekt funktioniert. Ich habe das seit gestern versucht. Ich habe viel versucht, Regex zu lernen, während ich an diesem Thema arbeite, aber es geht mir nicht in den Kopf .. Verdammt! –

    +0

    @VaibhavChawale froh, dass es geklappt hat .. – rock321987