[英]single split or match regex
9.jul。 3 dni od 205,00 EUR
是否可以使用單個正則表達式(匹配opr拆分)從字符串中獲取205,00的數字? 它必須是單個正則表達式,而不是2或3個正則表達式,其結果為205,00。
字符串看起來像:
<option value="9.7.2010|3">9.jul. 3 dni od 205,00 EUR <option value="23.7.2010|3">23.jul. 3 dni od 205,00 EUR <option value="27.8.2010|3">27.avg. 3 dni od 205,00 EUR <option value="10.9.2010|3">10.sep. 3 dni od 205,00 EUR <option value="24.9.2010|3">24.sep. 3 dni od 205,00 EUR <option value="29.10.2010|3">29.okt. 3 dni od 205,00 EUR <option value="25.3.2011|3">25.mar. 3 dni od 205,00 EUR <option value="15.4.2011|3">15.apr. 3 dni od 205,00 EUR </select>
也許
(\d+,\d\d) EUR$
您實際上並沒有真正指定主題的總體外觀。
這里有兩個可能的問題
它是空格(ASCII 32)還是
? 還是只是\\s
字符?
我將假設它只是一個常規空間。 如果不是這種情況,則以以下模式替換它。
要僅匹配數字部分,可以使用\\d+,\\d\\d(?= EUR)
。 這會使用前瞻(?=___)
因此您只匹配您感興趣的部分。
另一種選擇是匹配(\\d+,\\d\\d) EUR
,然后提取Groups[1]
。
您嘗試(\\d+,\\d\\d) EUR
(希望您實際上沒有在
鍵入)應該可以,但是您必須從結果中訪問第1組以獲取括號中的內容。 例如:
Regex regex = new Regex(@"(\d+,\d\d) EUR");
Match match = regex.Match("9.jul. 3 dni od 205,00 EUR");
string cashString = match.Groups[1].Value;
將很可能會轉換為ASCII 160(經HTML解碼),與空格不同。 使用\\ s +將不匹配任何空格,普通空格,制表符和換行符/回車符。
如果未解碼,則應該可以使用
而不是\\ s +。
(\d+,\d+)\s+EUR
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.