2014-03-07 22 views
0

我正在写一个正则表达式来替换字符串中的字符。要移除的字符在运行时决定。因此,有没有办法将变量放入正则表达式中。如何在正则表达式中使用变量(as3)

e.g- var reg:RegExp=/[some vaiable]/g;

我不想使用new操作符进行正则表达式。

在此先感谢。

回答

1

不幸的是,你的限制使这不可能。

按照Adobe帮助上regular expressions

斜杠界定正则表达式以同样的方式作为文字引号界定字符串文本。

当使用新的构造,使用两个字符串来定义正则表达式。第一个字符串定义模式

如果你想在运行时定义的正则表达式,即不是字面,你必须使用第二格式。这一点都不难!

var reg:RegExp = new RegExp(some_variable, "g"); 

除了一个主要区别之外,它与您想要的完全相同:这种方式有效,而您的方式不适用。

+0

我已经使用第二种格式,即使用新的构造函数。我认为可能有其他方式来做到这一点。 – Kaif

+0

不,没有。 ''//语法只适用于文字表达式。既然你在插入一个变量,它不是字面的,而且你坚持使用'new'语法。 –

+0

好,所以我们不能在regx文字exp中插入一个变量。但我们可以在字符串文字中插入一个变量。 – Kaif

相关问题