3

如何将动态变量包含到正则表达式对象中?

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

在这种情况下,我希望正则表达式匹配“一只鸟”或“一只鸟”(如果“鸟”是关键字)。但是,“bird”如果单独存在,则不应匹配。

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

对于我的第二个问题,测试用例如下所示:

作品

abird
bird
bbbbirdddd

不工作

a bird
a birdddd

任何帮助将不胜感激!

4

1 回答 1

1

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

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

有关如何从变量构造正则表达式的更多信息,请参见此处:在 AS3 中使用变量 Regexp

对于您问题的第二部分:

/(?<!a\s+)bird/i
于 2012-09-04T17:32:07.537 回答