为了账号安全,请及时绑定邮箱和手机立即绑定

你好,请教一下大神,这个“^[+-]?\d*[.]?\d*$”正则表达式是什么意思?

你好,请教一下大神,这个“^[+-]?\d*[.]?\d*$”正则表达式是什么意思?

www说 2019-11-27 13:09:11
这个“^[+-]?\d*[.]?\d*$”正则表达式是什么意思?
查看完整描述

3 回答

?
翻过高山走不出你

TA贡献1875条经验 获得超3个赞

一个可能带+-号的整数,或空字符串,或一个+-号
^[-\\+]?
[-+]表示+-号?表示前面的内容可有可无,即可能有正负号
[\\d]* \\d表示数字,*表示0到多个数字,[]完全多余

重写为
^[-+]?\\d+$ 这样就只能表示整数,不会匹配空字符串或单独的+-号

查看完整回答
反对 回复 2019-11-29
?
智慧大石

TA贡献1946条经验 获得超3个赞

表达式1: ( [ #中括号中的下列字符是否出现 \\d # \d 0~9数字 或下列数字中的一个:一二三四五六七八九壹贰叁肆伍陆柒捌玖零 ①②③④⑤⑥⑦⑧⑨⑩ 一二三四五六七八九十 ⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽ ?????????? ⒈⒉⒊⒋⒌⒍⒎⒏⒐ ] #中括号关闭 ) #小括号关闭,——产生一个捕获 {1} #前面的字符出现1次 【可以省略,因为不写也代表1次】 表达式2: .* #前面是任意字符,后面跟下面的字符 [^ #这些字符不含有以下字符: \\w #字符 \\d #数字 \\u4e00-\\u9fa5 #4位16进制表示的 汉字 , #逗号 \\. # 英文句号. \\/ #斜线 / ' #单引号 \" #双引号 ;:> #相应的字符 \\? #问号 ~!@#$% #相应字符 \\^ #^ ——实际直接用^将可以 \\& #& ——可以直接用& \\* #* ——可以直接用* \\( #( \\) #) _ \\- \\+ = ]+ #以上字符不出现1个或多个。【+好意义不大,感觉可以去掉】 .* #后面又是一些字符 评:第二个表达式 前后的 .*没什么意义。感觉去掉也不会对匹配结果有什么影响。

查看完整回答
反对 回复 2019-11-29
  • 3 回答
  • 0 关注
  • 1565 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信