2011-08-18 51 views

回答

4
int replacementNumber = 2; 
ip = ip.replaceAll("(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})", "$1.$2."+replacementNumber+".$4"); 

評論形式:

/^     # match beginning 
    (
     \d{1,3} # one address segment 
     \.   # separation dot 
     \d{1,3}) # second address segment 
    \.    # separation dot 
    \d{1,3}  # address segment to be replaced 
    \.    # separation dot 
    (\d{1,3})  # last address segment 
$/x    # match end, ignore comments 
+2

正則表達式看起來不錯,但是...... preg_replace函數在java中? – arunkumar

+1

對於看起來不錯的正則表達式+1。有沒有可能在java中寫這個? – siamii

+0

但是這也會匹配999.999.999.999。 –

0
^([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])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])$