问题描述
一个字符串中含有版本号如1.1.3,我要匹配它,他前面不能为数字或者数字加.,后面不能为数字或者.加数字.即不能为11.1.3,11.1.3,1.1.33,1.1.3.3等,但可以为1.1.3.i
解决方案
解决方案二:
你的版本号什么规则?第一个数字不能为两位数吗?
解决方案三:
就当1.1.3是个字符串,我可以取得,但是它前面不能为数字或者数字加.,后面不能为数字或者.加数字即不能匹配11.1.3,1.1.31,1.1.1.3,1.1.3.1,但是后面可以有.加字母,即可以为1.13.i在线急等,谢谢帮忙
解决方案四:
"\D(\d\.){2}(\d\D)[^.]"
解决方案五:
@"[^d.]+"+strReqNumber+@"[^d.]+"其中strReqNumber是版本号1.1.3,但是这个匹配把1.1.3.i给排除了,11.1.3,1.1.31,1.1.1.3,1.1.3.1这些排除了是正常的.但是我再改动,怎么也匹配不上1.1.3.i请你帮忙改动一下,谢谢了.
解决方案六:
"\D(\d\.){2}(\d[^.\d]|\d\.\D)"
解决方案七:
你能不能不要去用表达式去匹配1.1.3这个字符串啊,这个就是一个整体strRegNumber.我需要的是前面和后面的匹配表达式
解决方案八:
难道不符合你的要求吗?
解决方案九:
大哥,我在线急等,如果符合要求,我就不会问了
解决方案十:
string[]str={"11.1.3","1.1.31","1.1.1.3","1.1.3.1","1.1.3","1.1.3.i","1.1.3.啊"};Regexreg=newRegex(@"(?i)(?<![d.])1.1.3(?:(?=.[a-z])|(?![d.]))");foreach(stringsinstr)Console.WriteLine(reg.IsMatch(s));