2016-10-22 8 views
1
ohne Brief bekommen

zunächst habe ich entdecken nur Regex vor wenigen Tagen ...[Regex] Wie Zahlen vor

Und ich versuche Regex zu verwenden Ziffern/Zahlen zu bekommen, aber nur, wenn es keine Buchstaben . Und selbst wenn die Buchstaben vor '('


Ex: 
  • A = 3,2 =>3,2
  • AVariable5 = 3,0 =>3.0
  • vec (0255)) =>
  • vec2 (0,0) =>

Derzeit ich den Ausdruck verwenden [\ d .] +, um Ziffern mit der 'zu erhalten. '
Ich habe einige Dinge ausprobiert, aber keine Ergebnisse, immer mehr Dinge oder nichts bekommen.

Also frage ich Ihnen, wie es geht und wenn möglich mit Erklärung.
Dank Ihnen.

(Sorry, wenn mein Englisch ist schlecht)

Antwort

1

\d+ Teil der Geschichte ist; was Sie brauchen, ist ein Zustand auf dem Präfix ist, ein Blick hinter, zu verlangen, dass das Zeichen vor dem Spiel nicht ein Brief:

\b(?<![A-Za-z])\d+([.]\d+)? 

Demo.

+0

Nizza . Ich wusste nicht [.] War wie \. Nur neugierig, warum \ b? –

+1

@EricDuminil ohne '\ b' würde der Ausdruck' 45' in 'aa345' entsprechen. – dasblinkenlight

+0

Vielen Dank. Sehr informativ. –