作者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
推 tomex:這篇ip範例我在學regex有看過,當初也看很久,它是逐字去列 10/15 23:52
推 tomex:舉,如255 => 2, 5, 5 全部排列的列舉可能都秀出,這樣子 10/15 23:53
推 chengchieh:所以..console印出的部份是針對192.168.199.1這組合法 10/16 08:43
→ chengchieh:的re嗎..也就是如果replace的第一個引述內容如果不合法 10/16 08:43
→ chengchieh:就不會有console的動作出現? 是嗎? 10/16 08:44
推 tomex:嗯,每一組最多3個數字,它逐字去比對(用OR) 10/16 20:09