如何将动态变量包含在regexp对象中?
var pattern:RegExp = new RegExp(/'a '/ + keyword, '/gi');
在这种情况下,我希望正则表达式匹配“a bird”或“A biRD”(如果'bird'是关键字)。但是,“鸟”如果它本身就不应该匹配。
此外,我有一个跟进问题(我希望问题不是太多!): 我怎么做上面的确切的事情,但是正则表达式只匹配关键字前面没有'a'(我相信这涉及使用^或!),但我似乎无法找到任何明确的我特定要求的任何语言的文档。)
对于我的第二个问题,测试用例看起来像这样:
WORKS
abird
bird
bbbbirdddd
不工作
a bird
a birdddd
任何帮助将不胜感激!
答案 0 :(得分:1)
ActionScript 3.0支持lookbehinds和不区分大小写的修饰符:
/(?<=a\s+)bird/i
有关如何从变量构建正则表达式的更多信息,请参见此处:Using a Variable in an AS3, Regexp。
对于问题的第二部分:
/(?<!a\s+)bird/i