C# 单拆分或匹配正则表达式

C# 单拆分或匹配正则表达式,c#,regex,C#,Regex,7月9日。3 dni od 205,00欧元 使用单个正则表达式(匹配opr拆分)是否可以从字符串中获取205,00个数字?它必须是单个正则表达式,而不是2或3个正则表达式,结果为205,00 字符串看起来像: <option value="9.7.2010|3">9.jul. 3 dni od 205,00&nbsp;EUR <option value="23.7.2010|3">23.jul. 3 dni od 205,00&nbsp;EUR <

7月9日。3 dni od 205,00欧元

使用单个正则表达式(匹配opr拆分)是否可以从字符串中获取205,00个数字?它必须是单个正则表达式,而不是2或3个正则表达式,结果为205,00

字符串看起来像:

 <option value="9.7.2010|3">9.jul. 3 dni od 205,00&nbsp;EUR <option value="23.7.2010|3">23.jul. 3 dni od 205,00&nbsp;EUR <option value="27.8.2010|3">27.avg. 3 dni od 205,00&nbsp;EUR <option value="10.9.2010|3">10.sep. 3 dni od 205,00&nbsp;EUR <option value="24.9.2010|3">24.sep. 3 dni od 205,00&nbsp;EUR <option value="29.10.2010|3">29.okt. 3 dni od 205,00&nbsp;EUR <option value="25.3.2011|3">25.mar. 3 dni od 205,00&nbsp;EUR <option value="15.4.2011|3">15.apr. 3 dni od 205,00&nbsp;EUR </select>
7月9日。3 dni od 205,00欧元7月23日。3 dni od 205,00欧元,平均27.00欧元。3 dni od 205,00欧元,9月10日。3 dni od 205,00欧元,9月24日。3 dni od 205,00欧元29.okt。3 dni od 205,00欧元3月25日。3 dni od 205,00欧元,4月15日。3 dni od 205,00欧元
也许吧

(\d+,\d\d) EUR$
您没有真正指定主题的总体外观。

也许

(\d+,\d\d) EUR$

您没有真正指定主题的总体外观。

这里有两个可能的问题

空间 它是空格(ASCII 32)还是
?或者它只是任何
\s
字符


比赛部分 我假设它只是一个正则空间。如果情况并非如此,则按照以下模式进行替换

要仅匹配数字部分,可以使用
\d+,\d\d(?=EUR)
。这使用了lookahead
(?=___;)
,因此您只匹配您感兴趣的部分

另一个选项是匹配
(\d+,\d\d)EUR
,然后提取

相关问题
工具书类

    • 这里有两个可能的问题

      空间 它是空格(ASCII 32)还是
      ?或者它只是任何
      \s
      字符


      比赛部分 我假设它只是一个正则空间。如果情况并非如此,则按照以下模式进行替换

      要仅匹配数字部分,可以使用
      \d+,\d\d(?=EUR)
      。这使用了lookahead
      (?=___;)
      ,因此您只匹配您感兴趣的部分

      另一个选项是匹配
      (\d+,\d\d)EUR
      ,然后提取

      相关问题
      工具书类
      您尝试的
      (\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;
      
      您尝试使用
      (\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
      

      很可能会转换为ASCII 160(html解码),这与空格不同。使用\s+将匹配无中断空格以及正常空格、制表符和换行/回车符

      如果未解码,则应能够使用
      而不是\s+

      (\d+,\d+)\s+EUR
      

      我已经尝试过类似的:(\d+,\d\d)欧元,但不起作用。结果不是205,00@senzacionale:结果如何?根本没有对手?或者
      205,00欧元
      ?您好,与您的正则表达式类型完全不匹配。我使用(\d+,\d+(=EUR)来帮助你。Thx.我已经尝试过类似的:(\d+,\d\d)欧元,但不起作用。结果不是205,00@senzacionale:结果如何?根本没有对手?或者
      205,00欧元
      ?您好,与您的正则表达式类型完全不匹配。我使用(\d+,\d+(=EUR)来帮助你。Thx(\d+,\d+(=EUR)是我要找的。谢谢!(\d+,\d+(=EUR)是我正在寻找的。谢谢!