如何在HaxeDevelop / FlashDevelop查找和替换中使用正则表达式重新排列代码

时间:2017-05-02 18:42:06

标签: regex haxe flashdevelop

我试图将强制转换((" Sparkles"),GetBitmapData); 转换为 GetBitmapData(" Sparkles");

我已经找到了我的查找代码:

cast\(\(\"\.*\"\),\ .*\);

但这个替换不起作用:

$2\(\"$1\"\);

我需要做些什么来完成这项工作?

1 个答案:

答案 0 :(得分:1)

您的正则表达式不包含捕获组,您尝试使用带编号的反向引用来访问它们。此外,你逃脱了点,\.*只匹配0+点符号。

您可以使用以下正则表达式替换:

查找内容cast\(\("(.*?)"\),\s*(\w+)\);
替换为$2("$1");

这是.NET regex demo(FlashDevelop S& R功能使用.NET正则表达式)。

模式详情

  • cast\(\(" - cast(("子字符串
  • (.*?) - 第1组(简称$1)尽可能少地捕获任何0+字符,直到第一个...
  • "\), - "),子字符串
  • \s* - 0+ whitespaces
  • (\w+) - 第2组(称为$2)捕获1个字母字母(字母/数字/ _
  • \); - );子字符串。