我想翻译当前的正则表达式:
(.*?)<w:t([^>]*)>
不使用*?
(在ActionScript3中)
意思是我希望在<w:t
我可以使用([^<]*)
,但问题是我希望在第一个parenthisis中匹配例如<w:r
。
是否可以使用正则表达式进行,还是必须手工完成?
答案 0 :(得分:2)
我很惊讶AS3不支持非贪婪!但是我知道至少AS3完全支持lookhead断言,这意味着你可以这样做:
((?:.(?!<w:t))*)
这样做的目的是逐个捕捉每个角色,只要该角色后面没有<w:t
。
小心不要将!<
翻转为<!
,否则您将无意中断言隐藏条件!
修改强>
嗯,AS3 应该支持非贪婪。我怀疑你的问题在其他地方。例如,正则表达式的余数可能有问题,导致它与“第一个”实例不匹配,导致它“继续查找”直到执行的后续实例< / em>匹配。