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>
答案 0 :(得分:1)
也许
(\d+,\d\d) EUR$
您并没有真正指定主题的外观。
答案 1 :(得分:1)
这里有两个可能的问题
是空格(ASCII 32)还是
?或许它只是任何\s
个字符?
我将假设它只是一个常规空间。如果不是这种情况,则用以下模式替换它。
要仅匹配数字部分,您可以使用\d+,\d\d(?= EUR)
。这使用预测(?=___)
,因此您只匹配您感兴趣的部分。
另一个选项是匹配(\d+,\d\d) EUR
,然后提取Groups[1]
。
答案 2 :(得分: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;
答案 3 :(得分:1)
很可能会转换为ASCII 160(html解码),这与空格不同。使用\ s +将匹配没有中断空格以及普通空格,制表符和换行符/回车符。
如果没有解码,那么您应该可以使用
代替\ s +。
(\d+,\d+)\s+EUR