我想抓住td之間的數字並將其存儲在數據中。我用*來表示我想要得到的信息。Ruby正則表達式提取號碼
data = data.match(<td class="yfnc_tabledata1">*</td>)
我想抓住td之間的數字並將其存儲在數據中。我用*來表示我想要得到的信息。Ruby正則表達式提取號碼
data = data.match(<td class="yfnc_tabledata1">*</td>)
正則表達式對於一般的數字格式來說是一個非常複雜的表達式,因爲數字有各種形狀和顏色。你需要決定什麼樣的數字你有興趣,整數,有/無符號,浮動,指數表示法,接受/不接受領先+ ...嘗試看看http://regexlib.com正則表達式,以滿足您的需求。當然,正如評論中所建議的那樣,請不要用regexen來解析標記語言。
例如,從網站上面提到,你可以找到正則表達式:
/^[-+]?\d+(\.\d+)?$/
隨着描述:此匹配任何實數,以小數點後可選的小數點和數字,以及可選的正(+)或負( - )指定。
這是由您決定是否要附上你的正則表達式在^
和$
,或者你有什麼要求例如。請注意,我給出的正則表達式示例只有匹配(即驗證)這些數字,要真正抓住它們,您將不得不關注那些[+-]
符號。
完美運作,感謝您的幫助 – rahrahruby 2013-05-14 05:15:25
相信用於抓住一個或多個數字的正則表達式表達是/>(\d+)</
這意味着一個或多個數字(I相信,不太好於正則表達式)。雖然我使用http://nokogiri.org/進行html解析。
我不認爲'>'和'<'是Ruby正則表達式中的特殊字符。如果字符串的第一行必須是一系列數字,或者「\ A」和「\ Z」,如果整個字符串必須是一系列數字,則可能需要'^'和'$'。 – 2013-05-14 05:04:02
謝謝羅裏:) – Senjai 2013-05-14 05:10:49
優秀推薦 – rahrahruby 2013-05-14 05:17:04
你是否試圖在HTML中使用正則表達式?如果是的話,你應該使用合適的解析器。 – squiguy 2013-05-14 04:42:22
有什麼建議嗎? – rahrahruby 2013-05-14 04:42:58
你嘗試了什麼? – pierrotlefou 2013-05-14 05:02:01