当前位置:编程学习 > C#/ASP.NET >>

正则表达式问题请教八百里加急

一个字符串中含有版本号如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.啊" };
            Regex reg = new Regex(@"(?i)(?<![\d.])1.1.3(?:(?=\.[a-z])|(?![\d.]))");
            foreach (string s in str)
                Console.WriteLine(reg.IsMatch(s));
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,