数值范围与字符组合的正则表达式。例如,以下匹配将返回true:6items或450items或300itemsred(“item”一词后可能有其他字符)以下字符串将返回false:4items或501items或40redItemsItried以下正则表达式,但它不起作用:strings="Stock:45Items";Regexreg=newRegex("5|[1-4][0-9][0-9].Items");消息框。Show(reg.IsMatch(s).ToString());感谢您的帮助。此正则表达式应用于检查数字是否在5到500范围内:“[6-9]|[1-9][0-9]|[1-4][0-9][0-9]|500"编辑:下面的示例包含一个更复杂的正则表达式,它还排除了大于1000的数字,并排除了数字后除“items”以外的字符串:strings="Stock:4551Items";strings2="库存:451件商品";strings3="库存:451红色物品";正则表达式reg=newRegex(@"[^0-9]([6-9]|[1-9][0-9]|[1-4][0-9][0-9]|500)[^0-9]项目");Console.WriteLine(reg.IsMatch(s).ToString());//false控制台.WriteLine(reg.IsMatch(s2).ToString());//trueConsole.WriteLine(reg.IsMatch(s3).ToString());//false下面的方法应该做你想做的。它使用的不仅仅是正则表达式。但其意图更为明确。//itemType应该是示例中的字符串`Items`publicstaticboolmatches(stringinput,stringitemType){//匹配“Stock:”后跟数字、空格和文本Regexr=newRegex(“^库存:(d+)(.*)&”);匹配m=r.Match(s);if(m.Success){//从第一个匹配中解析数字intnumber=int.Parse(m.Groups[1]);//如果超出我们的范围,则为falseif(number500)returnfalse;//最后一个标准是项目类型是正确的returnm.Groups[2]==itemType;}否则返回假;}(([1-4][0-9][0-9])|(([1-9][0-9])|([6-9])))sItems怎么样"<500>|||",它在linuxshell中对我来说工作正常,所以它在c#中应该类似。他们在互联网上有一个错误,甲板后应该有一个反斜杠>例如500backslash>?以上是全部内容C#学习教程之:数字范围和字符的正则表达式,如果对大家有用还需要了解更多关于C#学习教程,希望大家多多关注,本文收集自网络,确实不代表立场,如涉及侵权,请点击右边联系管理员删除,如需转载请注明出处:
