求助正则表达式,如果搜索非0的数值

yulohan 2009-09-28 11:27:13
如题
...全文
101 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
yulohan 2009-09-29
  • 打赏
  • 举报
回复
整数,没有字符,没有标点符号,不过有十进制,十六进制数区分(0x1)
forster 2009-09-28
  • 打赏
  • 举报
回复
if(a);
oyster2008 2009-09-28
  • 打赏
  • 举报
回复
数值有什么要求,有小数吗,还是分数?
thy38 2009-09-28
  • 打赏
  • 举报
回复
我在Python里面测试了(C++麻烦):
f= ('-555', '0555', '-0.1', '0.1212', '0', '0.0')
import re

integer = r'^[+-]?[^0]\d+'
faction = r'^[+-]?\d+\.\d*[1-9]+'
mat = integer+'|'+faction
patt0 = re.compile(mat)

for each in f:
print each,
result = patt0.match(each)
if result is not None: print 'OK'
else: print '-'

测试结果:
-555w OK
0555 -
-0.1 OK
0.1212 OK
0 -
0.0 -

把正则式子转换为C风格的就是:
^[+-]?[^0]\\d+|^[+-]?\\d+\\.\\d*[1-9]+
thy38 2009-09-28
  • 打赏
  • 举报
回复
LZ的数值是可以与字符混在一起(we0.9er)?还是必须要分开(we 0.9 er)?

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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