C#正则表达式,匹配3或5位的数字
5个回答
展开全部
其他人说的基本正确。你有一个经验是错误的,你说第一题能匹配到3、4、5个数字,但它不能匹配出4位数字,第一题的表达式只能匹配出3位或是5位数位,而你输入4位数字时,因为它符合3位数字,所以也会被匹配出。
匹配次数的正则表达式格式是有要求的,请去看手册,不要想当然的写,不然是不生效的。
匹配次数的正则表达式格式是有要求的,请去看手册,不要想当然的写,不然是不生效的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
(8)贪婪与非贪婪
正则表达式的引擎是贪婪,只要模式允许,它将匹配尽可能多的字符。通过在“重复描述字符”(*,+)后面添加“?”,可以将匹配模式改成非贪婪。请看以下示例:
string
x
=
"live
for
nothing,die
for
something";
regex
r1
=
new
regex(@".*thing");
if
(r1.ismatch(x))
{
console.writeline("match:"
+
r1.match(x).value);//输出:live
for
nothing,die
for
something
}
regex
r2
=
new
regex(@".*?thing");
if
(r2.ismatch(x))
{
console.writeline("match:"
+
r2.match(x).value);//输出:live
for
nothing
}
对着修改一下。
正则表达式的引擎是贪婪,只要模式允许,它将匹配尽可能多的字符。通过在“重复描述字符”(*,+)后面添加“?”,可以将匹配模式改成非贪婪。请看以下示例:
string
x
=
"live
for
nothing,die
for
something";
regex
r1
=
new
regex(@".*thing");
if
(r1.ismatch(x))
{
console.writeline("match:"
+
r1.match(x).value);//输出:live
for
nothing,die
for
something
}
regex
r2
=
new
regex(@".*?thing");
if
(r2.ismatch(x))
{
console.writeline("match:"
+
r2.match(x).value);//输出:live
for
nothing
}
对着修改一下。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
表达式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这个讲的很详细
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
表达式1只能匹配3个数字
5位数字永远包含3位
所以
后面的永远执行不到
表达式2
3
4
不正确
没这种用法
正确格式为
\d{m,n}
m>=0
n>=0
且
m
评论
0
0
0
加载更多
5位数字永远包含3位
所以
后面的永远执行不到
表达式2
3
4
不正确
没这种用法
正确格式为
\d{m,n}
m>=0
n>=0
且
m
评论
0
0
0
加载更多
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询