1

我希望正则表达式可以提取以“ERROR”开头的字符串,但不包括文本“STA”。这个想法是只向用户显示错误消息的文本字符串,而没有内部编程细节(例如代码行号和过程名称等)。

例如,应用程序返回的错误字符串始终采用以下形式:

...STA-20010: ERROR my app error message is here STA-06512: at ...

我想从这个字符串中提取以下内容:

ERROR my app error message is here

有没有办法使用正则表达式来做到这一点?如果它很重要,我将在 actionscript3 中实现它。

4

1 回答 1

4

以下应该做你想要的:

ERROR.*?(?=STA)

.*?匹配尽可能少的字符,以便先行 (?=STA)成功。

根据您的错误消息,可能还需要添加单词边界,例如:

ERROR.*?(?=\bSTA\b)

这样,在像下面这样的字符串上,您将包括STACKOVERFLOW作为错误消息的一部分而不是停止,因为它以 开头STA

...STA-20010: ERROR STACKOVERFLOW STA-06512: at ...
于 2012-06-07T16:15:40.493 回答