2016-08-01 17 views
1

sagen Let ich eine ZeichenfolgeWie verwende ich regexp-Spiel in Schlägern, um nur die Zahl mit Dezimalstellen

"<span class='price'>6.86</span>" 

gegeben bin Wie kann ich regexp-Spiel verwenden, um „6.86“ zu zeigen, ohne zu wissen, die Größe der Nummer oder die verwendete Nummer.

So könnte es "x.xx", "xx.xx", "xxx.xx" und so weiter sein.

+0

Reguläre Ausdrücke sind in der Regel nicht die besten Möglichkeiten, HTML zu analysieren. Siehe: http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags – 2Cubed

+0

Vielen Dank für den Link – DankMemer312

Antwort

2
#lang racket 
(define elm "<span class='price'>6.86</span>") 
(regexp-match "<span class='price'>([0-9.]*)</span>" elm) 

Ouput:

'("<span class='price'>6.86</span>" "6.86") 
+0

Vielleicht besser zu verwenden '#px" \\ d + (?: \\. \\ d +)? "' da '[0-9.] *' mit leeren Werten sowie '.3.2.3.' übereinstimmt – Sylwester

0

meine Version:

(regexp-match #rx"<span class='price'>([0-9]*\\.*[0-9]*)</span>" 
       "<span class='price'>6.86</span>") 

'("<span class='price'>6.86</span>" "6.86")