求一个正则表达式,搜索 美元 符号!

jilm168 2008-11-18 10:16:16
该正则表达式要搜索美元,格式有下面几种情况:
1.$100
2.$100 million
3.$20 billion
4.$1,200 billion

希望高手给个答案,谢谢!
...全文
835 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuhq030710914 2008-11-18
  • 打赏
  • 举报
回复
还有小数?
\$[\d,.]+((\smillion)|(\sbillion))?
wuhq030710914 2008-11-18
  • 打赏
  • 举报
回复
\$[\d,]+((\smillion)|(\sbillion))?
cpio 2008-11-18
  • 打赏
  • 举报
回复
看样子你是想匹配整个表达式了

^\$(?:\d+,?.?)+\s?([m|b]illion)?
cpio 2008-11-18
  • 打赏
  • 举报
回复
只匹配数字

(?<=^\$)(?:\d+,?)+(?=\s?(?:[m|b]illion)?)
止戈而立 2008-11-18
  • 打赏
  • 举报
回复
\$\d{1,3}(,\d{3})*(\.\d+)?(\s*[mb]illion)?

把小数点的情况也考虑进去。。
jilm168 2008-11-18
  • 打赏
  • 举报
回复
还有一种格式 : $1.1 million
jilm168 2008-11-18
  • 打赏
  • 举报
回复
\$\d{1,3}(,\d{3})*\s*(million|billion)? 是可以的,没有$100,00 写法,应该是 $10,000。
止戈而立 2008-11-18
  • 打赏
  • 举报
回复
\$\d+(,\d+)*(\s*[mb]illion)?

改成这样吧。。随便你多少位出现一个,号都可以匹配到。。
止戈而立 2008-11-18
  • 打赏
  • 举报
回复
$100,00
怎么会有这样的格式?3位才会有一个,号的。。正常的金额不可能出现这样的情况。。
jilm168 2008-11-18
  • 打赏
  • 举报
回复
^\$\d+ 不能匹配 $100 million

\$\d{1,3}(,\d{3})*\s*(million|billion)? 不能匹配 $100,00
cpio 2008-11-18
  • 打赏
  • 举报
回复
如果只是找这一行是不是以$开头的金额的话,一楼的就行

如果要把整段匹配出来,可以用
^\$(\d+,?)+\s?([m|b]illion)?

止戈而立 2008-11-18
  • 打赏
  • 举报
回复
\$\d{1,3}(,\d{3})*\s*(million|billion)?
cpio 2008-11-18
  • 打赏
  • 举报
回复
^\$\d+

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧