正则表达式相当于*?

时间:2013-05-22 14:18:37

标签: regex actionscript-3

我想翻译当前的正则表达式:

(.*?)<w:t([^>]*)>

不使用*?(在ActionScript3中)

意思是我希望在<w:t

第一次出现之前得到所有内容

我可以使用([^<]*),但问题是我希望在第一个parenthisis中匹配例如<w:r

是否可以使用正则表达式进行,还是必须手工完成?

1 个答案:

答案 0 :(得分:2)

我很惊讶AS3不支持非贪婪!但是我知道至少AS3完全支持lookhead断言,这意味着你可以这样做:

((?:.(?!<w:t))*)

这样做的目的是逐个捕捉每个角色,只要该角色后面没有<w:t

小心不要将!<翻转为<!,否则您将无意中断言隐藏条件!

修改

嗯,AS3 应该支持非贪婪。我怀疑你的问题在其他地方。例如,正则表达式的余数可能有问题,导致它与“第一个”实例不匹配,导致它“继续查找”直到执行的后续实例< / em>匹配。