C#正则表达式,匹配3或5位的数字
,表达式1:“\d{3}|\d{5}”我写成这样,可以匹配3、4、5个数字,请问为什么?表达式2:”\d{3|5}“,输入个数1-5的数字字符串匹配结果全为false,为...
,表达式1:“\d{3}|\d{5}” 我写成这样,可以匹配3、4、5个数字,请问为什么?
表达式2:”\d{3|5}“,输入个数1-5的数字字符串匹配结果全为false,为什么?表达式2可以匹配什么样的字符串?
表达式3:"\d{[3,5]}",问题如表达式2。
表达式4:”\d({3}|{5}“,编译无法通过
表达式5:“^\d{3}$|^\d{5}$”,这个匹配结果正确,但我想化简该表达式,比如把\d提到前面去,提公因式类似的方法,可以做到吗,怎么做? 展开
表达式2:”\d{3|5}“,输入个数1-5的数字字符串匹配结果全为false,为什么?表达式2可以匹配什么样的字符串?
表达式3:"\d{[3,5]}",问题如表达式2。
表达式4:”\d({3}|{5}“,编译无法通过
表达式5:“^\d{3}$|^\d{5}$”,这个匹配结果正确,但我想化简该表达式,比如把\d提到前面去,提公因式类似的方法,可以做到吗,怎么做? 展开
5个回答
展开全部
追问
只有4编译不通过,其它的不能匹配题目要求,但我想知道为什么,还有他们可以匹配什么样的字符串,正则表达式的基本内容我也看过了,所以并不是一无所知,呵呵。而且表达式1可以匹配的3、4、5个数字我试过了,实践才有发言权
追答
我多解释一点吧,1)其实只能匹配3个数字,多于3个的也只是匹配到3个,如果6个数字,就是匹配2次3个数字。 你可以反过来用\d{5}|\d{3},这样5位数的匹配会优先。 其实你应该加一些边界匹配来提高精确。 2)本身表达式是对的,但是不能匹配你的要求,这个表达是先用|分开的,所以它匹配一个数字加"{3" 或者"5}". 类似的3)匹配的是一个数字, "{",数字3或者5,"}"
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-07-26
展开全部
表达式1只能匹配3个数字 5位数字永远包含3位 所以 后面的永远执行不到
表达式2 3 4 不正确 没这种用法 正确格式为 \d{m,n} m>=0 n>=0 且 m<n
表达式5的效果等于 \d{5}|\d{3}
表达式2 3 4 不正确 没这种用法 正确格式为 \d{m,n} m>=0 n>=0 且 m<n
表达式5的效果等于 \d{5}|\d{3}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
其他人说的基本正确。你有一个经验是错误的,你说第一题能匹配到3、4、5个数字,但它不能匹配出4位数字,第一题的表达式只能匹配出3位或是5位数位,而你输入4位数字时,因为它符合3位数字,所以也会被匹配出。
匹配次数的正则表达式格式是有要求的,请去看手册,不要想当然的写,不然是不生效的。
匹配次数的正则表达式格式是有要求的,请去看手册,不要想当然的写,不然是不生效的。
追问
手册只给出一般的规则,碰到比较复杂的问题时还是要把简单的规则拼接起来才能得出结果,而且答案肯定也不尽相同,根据对一些简单资料的理解 "\d{[35]}"拼接了[abc](中括号内取一个字符) 和\d{n}(n个数字)两种规则,并不是想当然。 你的理解,是不是"\d{3}"在输入1234时也可匹配?
追答
是的。\d{3}是匹配3位数字,而1234符合3位数字的要求,所以就匹配出来了,而匹配的结果是123。
\d{[35]}是你的理解错误。有一个叫的文章向你推荐一下。我是看这篇文章入门的。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
^\d{3,5}$ 最少3个,最多5个数字
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
表达式1 匹配三位数,五位数,
\d是匹配数字(0-9),{x,n}是匹配x到n次,x<=n的,
表达式3 匹配三位数,四位数,五位数
其他的我也不清楚了,给你一个网址http://www.wangqi.com/n9250c53.aspx这个讲的很详细
\d是匹配数字(0-9),{x,n}是匹配x到n次,x<=n的,
表达式3 匹配三位数,四位数,五位数
其他的我也不清楚了,给你一个网址http://www.wangqi.com/n9250c53.aspx这个讲的很详细
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询