Project

General

Profile

Bug #10022

Updated by nobu (Nobuyoshi Nakada) almost 10 years ago

In the following code, the two gsub's yield different results. ([[https://gist.github.com/franklsf95/6c0f8938f28706b5644d]]) 

 ~~~ruby ~~~ 
 ver = 9999 
 str = "\t<key>CFBundleDevelopmentRegion</key>\n\t<string>en</string>\n\t<key>CFBundleVersion</key>\n\t<string>0.1.190</string>\n\t<key>AppID</key>\n\t<string>000000000000000</string>" 
 puts str.gsub /(CFBundleVersion<\/key>\n\t.*\.).*(<\/string>)/, "#{$1}#{ver}#{$2}" 
 puts '--------' 
 puts str.gsub /(CFBundleVersion<\/key>\n\t.*\.).*(<\/string>)/, "#{$1}#{ver}#{$2}" 
 ~~~ 

 My running result is: 

 ~~~ 
 <key>CFBundleDevelopmentRegion</key> 
 <string>en</string> 
 <key>9999 
 <key>AppID</key> 
 <string>000000000000000</string> 
 -------- 
 <key>CFBundleDevelopmentRegion</key> 
 <string>en</string> 
 <key>CFBundleVersion</key> 
 <string>0.1.9999</string> 
 <key>AppID</key> 
 <string>000000000000000</string> 
 ~~~ 

 ...which is strangely inconsistent.

Back