re = /public (\w*?) ([A-Z])(\w*?) { get; set; }/m
str = ' public string TenLop { get; set; }
public int TongSoHocSinh { get; set; }
public int SoNam { get; set; }
public int SoNu { get; set; }
public int SoNhoHon18Th { get; set; }
public int SoTu18ThDen3T { get; set; }
public int SoTu3TDen4T { get; set; }
public int SoTu4TDen5T { get; set; }
public int SoLonHon5T { get; set; }
'
subst = '\\L$2\\E$3: $1;'
result = str.gsub(re, subst)
# Print the result of the substitution
puts result
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Ruby, please visit: http://ruby-doc.org/core-2.2.0/Regexp.html