Regex 如何在正则表达式(as3)中使用变量
我正在编写一个正则表达式来替换字符串中的字符。要删除的字符是在运行时决定的。那么,有没有办法将变量放入正则表达式中呢 e、 g-Regex 如何在正则表达式(as3)中使用变量,regex,actionscript-3,Regex,Actionscript 3,我正在编写一个正则表达式来替换字符串中的字符。要删除的字符是在运行时决定的。那么,有没有办法将变量放入正则表达式中呢 e、 g-var-reg:RegExp=/[某些值]/g 我不想使用新的运算符来生成正则表达式 提前感谢。不幸的是,您的限制使这不可能实现 根据Adobe关于以下内容的帮助: 正斜杠描述正则表达式文字的方式与引号描述字符串文字的方式相同 及 使用新构造函数时,使用两个字符串来定义正则表达式。第一个字符串定义模式 如果希望在运行时定义正则表达式,即不使用文本,则必须使用第二种格式。
var-reg:RegExp=/[某些值]/g代码>
我不想使用新的运算符来生成正则表达式
提前感谢。不幸的是,您的限制使这不可能实现
根据Adobe关于以下内容的帮助:
正斜杠描述正则表达式文字的方式与引号描述字符串文字的方式相同
及
使用新构造函数时,使用两个字符串来定义正则表达式。第一个字符串定义模式
如果希望在运行时定义正则表达式,即不使用文本,则必须使用第二种格式。一点也不难
var reg:RegExp = new RegExp(some_variable, "g");
它与您想要的完全相同,只是有一个主要区别:这种方法有效,而您的方法无效。我已经在使用第二种格式,即使用新构造函数。我想可能还有其他方法可以做到这一点。不,没有。/
语法仅适用于文字表达式。因为您要在其中插入一个变量,所以它不是文本,并且您必须使用new
语法。好的,所以我们不能在regx literal exp中插入变量。但是我们可以在string literal中插入一个变量。从技术上讲,不。您也不能在string literal中插入变量var str:String=“abcdesome\u variablefghijklmnop”
不解析某些变量。您可以执行var str:String=“abcde”+某些变量+“efghijklmnop”
——但这是通过连接两个文本和一个变量来构造字符串变量。类似地,在本例中,不能创建包含变量的文本RegExp,但可以使用字符串变量创建一个文本RegExp。