Pārlūkot izejas kodu

Lua: Do the $ escapes in Ereg manually, since Lua uses % for that

Justin Donaldson 9 gadi atpakaļ
vecāks
revīzija
e5549102a5
1 mainītis faili ar 2 papildinājumiem un 1 dzēšanām
  1. 2 1
      std/lua/_std/EReg.hx

+ 2 - 1
std/lua/_std/EReg.hx

@@ -114,7 +114,8 @@ class EReg {
 	}
 	}
 
 
 	public function replace( s : String, by : String ) : String {
 	public function replace( s : String, by : String ) : String {
-		by = Rex.gsub(by, "\\$*\\$", "%%");
+		by = Rex.gsub(by, "\\${2}", "$"); // escape double dollar signs
+		by = Rex.gsub(by, "\\$(\\d)", "%%1"); // convert dollar sign matched groups to Rex equivalent
 		return Rex.gsub(s,r,by, global ? null : 1);
 		return Rex.gsub(s,r,by, global ? null : 1);
 	}
 	}