AS3将动态变量包含在regexp对象中

时间:2012-09-04 16:55:32

标签: regex string actionscript-3 variables

如何将动态变量包含在regexp对象中?

var pattern:RegExp = new RegExp(/'a '/ + keyword, '/gi');

在这种情况下,我希望正则表达式匹配“a bird”或“A biRD”(如果'bird'是关键字)。但是,“鸟”如果它本身就不应该匹配。

此外,我有一个跟进问题(我希望问题不是太多!): 我怎么做上面的确切的事情,但是正则表达式只匹配关键字前面没有'a'(我相信这涉及使用^或!),但我似乎无法找到任何明确的我特定要求的任何语言的文档。)

对于我的第二个问题,测试用例看起来像这样:

WORKS

abird
bird
bbbbirdddd

不工作

a bird
a birdddd

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

ActionScript 3.0支持lookbehinds和不区分大小写的修饰符:

/(?<=a\s+)bird/i

有关如何从变量构建正则表达式的更多信息,请参见此处:Using a Variable in an AS3, Regexp

对于问题的第二部分:

/(?<!a\s+)bird/i