Haxe 中的模式替换
Pattern Substitution in Haxe
var str2 : String = "Expander Detected (%MSG_ID%)";
var r2 = ~/[\(%MSG_ID%\)]+/g;
trace(r2.replace(str2, ""));
预期结果:Expander Detected
实际结果:Expander etected
我需要替换字符串中的 (%MSG_ID%)
。 (%MSG_ID%)
之前的字符是动态的,不能手动替换。
您需要删除周围的[]
。这按预期工作:
var r2 = ~/\(%MSG_ID%\)+/g;
[]
是一个字符集,如果集合中包含的 单个 字符匹配则匹配。由于该集合恰好包含 D
,因此在调用 replace()
时也会删除 D
。但是,您只想匹配所有字符(并按此顺序)。
我推荐使用 regex101.com 之类的工具来测试正则表达式。你可以很好地看到那里的问题:
var str2 : String = "Expander Detected (%MSG_ID%)";
var r2 = ~/[\(%MSG_ID%\)]+/g;
trace(r2.replace(str2, ""));
预期结果:Expander Detected
实际结果:Expander etected
我需要替换字符串中的 (%MSG_ID%)
。 (%MSG_ID%)
之前的字符是动态的,不能手动替换。
您需要删除周围的[]
。这按预期工作:
var r2 = ~/\(%MSG_ID%\)+/g;
[]
是一个字符集,如果集合中包含的 单个 字符匹配则匹配。由于该集合恰好包含 D
,因此在调用 replace()
时也会删除 D
。但是,您只想匹配所有字符(并按此顺序)。
我推荐使用 regex101.com 之类的工具来测试正则表达式。你可以很好地看到那里的问题: