作者qweqweqweqwe (啪)
看板C_Sharp
标题Re: [问题] Regular Expression的小问题..
时间Mon Oct 15 23:22:33 2007
※ 引述《chengchieh (chieh)》之铭言:
: 这几天逛着网上的tutorial学习中....
: 今天在下面的网址那边...
: http://0rz.tw/a03bm
: 有看到了一段用regex的replace功能的code......
: string pattern = @"([01]?\d\d? | 2[0-4]\d | 25[0-5])\." +
0或1 任意数字2个 或 2 0到4 任意数字 或25 0到5 .
所以一行是一组数字而已
应该是酱吧QQ
: @"([01]?\d\d?|2[0-4]\d|25[0-5])\." +
: @"([01]?\d\d?|2[0-4]\d|25[0-5])\." +
: @"([01]?\d\d?|2[0-4]\d|25[0-5])";
: Regex regex = new Regex(pattern);
: Console.WriteLine("Input given --> {0}",
: regex.Replace("192.168.199.1",
: "xxx.xxx.xxx.xxx"));
: 看了一看有几个地方不是很了解.....
: 1. @这个符号,查了一下文章,好像都是在有位址的地方使用 ex: @c:\ --> c:\\
: 那在上面的code之中它所表示的作用是什麽呢??
: 2.四个位置的re都是相同的...照理来说四个位置都有可能产生不同的正规式...
: 为什麽在Replace之中可以直接当作产生的ip是"192.168.119.1"来做取代呢??
: 希望有人能帮忙解答一下︿︿
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 125.225.120.228
1F:推 tomex:这篇ip范例我在学regex有看过,当初也看很久,它是逐字去列 10/15 23:52
2F:推 tomex:举,如255 => 2, 5, 5 全部排列的列举可能都秀出,这样子 10/15 23:53
3F:推 chengchieh:所以..console印出的部份是针对192.168.199.1这组合法 10/16 08:43
4F:→ chengchieh:的re吗..也就是如果replace的第一个引述内容如果不合法 10/16 08:43
5F:→ chengchieh:就不会有console的动作出现? 是吗? 10/16 08:44
6F:推 tomex:嗯,每一组最多3个数字,它逐字去比对(用OR) 10/16 20:09