加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 数字范围和字符的正则表达式

发布时间:2020-12-16 01:39:51 所属栏目:百科 来源:网络整理
导读:我需要一个正则表达式,它匹配数字(大于5,但小于500)和数字后面的文本字符串的组合. 例如,以下匹配将返回true:6个项目或450个项目或300个项目红色(“项目”一词后面可能有其他字符) 以下字符串将返回false:4个项目或501个项目或40个红色项目 我尝试了以下正
我需要一个正则表达式,它匹配数字(大于5,但小于500)和数字后面的文本字符串的组合.

例如,以下匹配将返回true:6个项目或450个项目或300个项目红色(“项目”一词后面可能有其他字符)

以下字符串将返回false:4个项目或501个项目或40个红色项目

我尝试了以下正则表达式,但它不起作用:

string s = "Stock: 45 Items";          
Regex reg = new Regex("5|[1-4][0-9][0-9].Items");
MessageBox.Show(reg.IsMatch(s).ToString());

谢谢你的帮助.

解决方法

这个正则表达式应该用于检查数字是否在5到500的范围内:

"[6-9]|[1-9][0-9]|[1-4][0-9][0-9]|500"

编辑:下面的示例包含更复杂的正则表达式,它也会排除大于1000的数字,并且在数字后排除“项目”以外的字符串:

string s = "Stock: 4551 Items";
string s2 = "Stock: 451 Items";
string s3 = "Stock: 451 Red Items";
Regex reg = new Regex(@"[^0-9]([6-9]|[1-9][0-9]|[1-4][0-9][0-9]|500)[^0-9]Items");

Console.WriteLine(reg.IsMatch(s).ToString()); // false
Console.WriteLine(reg.IsMatch(s2).ToString()); // true
Console.WriteLine(reg.IsMatch(s3).ToString()); // false

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读