看板 C_Sharp 關於我們 聯絡資訊
※ 引述《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