Visual Studio 2010 TR1正则表达式语法是否已更改?

时间:2010-12-08 14:42:53

标签: regex visual-studio tr1

我正在维护一个程序,该程序使用TR1正则表达式来评估设备设置的用户输入。我刚刚将此程序的构建环境从visual studio 2008切换到visual studio 2010.它使用以下正则表达式来验证IP地址的形式:

^([0-9]{1,3})?(\.[0-9]{1,3}){0,3}$

以下是应该验证的示例输入:

192.168.11.197

出于某种原因,在VS2010下,此正则表达式不再验证格式正确的IP地址。我已经用以下代码替换了这个正则表达式解决了这个问题(我在Regular expression to match DNS hostname or IP Address?上找到了这个:

^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$

我的问题是为什么前正则表达式不再起作用?我承认自己不是正则表达式ASCII艺术的微妙之处,但我认为我有一个可以理解的解决方案。

0 个答案:

没有答案