我需要找到一个正则表达式,该正则表达式将从文本中提取任何$,然后提取一个整数,例如$ 200或$ 50或$ 50.00或$ 5,000。 谢谢
答案 0 :(得分:0)
您可以尝试使用this这样的网站来搜索有关诸如金钱之类的特定事物的正则表达式。
我个人喜欢
的正则表达式new Regex(@"^\-?\(?\$?\s*\-?\s*\(?(((\d{1,3}((\,\d{3})*|\d*))?(\.\d{1,4})?)|((\d{1,3}((\,\d{3})*|\d*))(\.\d{0,4})?))\)?$");
将覆盖以下内容:$ 0、0,(0.0000)、. 1,.01,.0001,$。1,$。01,$。0001,($。1),($。01),$ (.0001),0.1,0.01,0.0001,1.,1111.,1,111。,1,1.00,1,000.00,$ 1,$ 1.00,$ 1,000.00,$ 1.0000,$ 1.0000,$ 1,000.0000,-1,-1.00,-1,000.00, -$ 1,-$ 1.00,-$ 1,000.00,-$ 1,-$ 1.00,-$ 1,000.00,$-1,$-1.00,$-1,000.00,$(1),$(1.00),$(1,000.00),$( 1),$(1.00),$(1,000.00),($ 1),($ 1.00),($ 1,000.00)
答案 1 :(得分:0)
我认为这会起作用:
^\$(([0-9]*)|([0-9]{1,3}(\,[0-9]{3})*))(\.[0-9]{2})?$
如果您使用https://regex101.com/,则应该能够获得相当不错的解释。基本上,我们从美元符号($)开始,然后检查逗号分隔的整数或非逗号分隔的整数,然后是可选的小数部分。