坚持正则表达式

时间:2016-05-25 14:47:56

标签: regex

我坚持使用正则表达式。我有以下一行

blah blah blah; Installation started ; END OK; Execution Return Code: 0   ;

我试图捕获返回码。但是有一些返回代码前面有一个减号。示例-2231134

我似乎无法想出一个正则表达式,如果返回代码的前面是负数,它将会捕获。

如果正面有一个减号,则下面的正则表达式有效。如果我删除它,它没有减号。

(Execution Return Code:\D.\d+)

4 个答案:

答案 0 :(得分:0)

"/Execution Return Code:\s*(-\d+)/i"

答案 1 :(得分:0)

我想最简单的就是执行以下操作

Execution Return Code: (\S)

答案 2 :(得分:0)

要检索整个字段,由于字段分隔符似乎为AppBarLayout,我建议使用;

如果您只想检索数字(带有可选符号),假设空格数是可变的,我会使用:

  • 第一组Execution Return Code:[^;]*如果选择一个组很容易

  • 如果使用lookbehind是Execution Return Code:\s*(-?\d+)的结果(注意它仍然可以返回前导空格,因为lookbehinds必须是固定宽度的)

答案 3 :(得分:0)

在@ rock321987

的帮助下

(执行返回代码:\ D *([ - ]?\ d +))

给我正确的返回码。

谢谢大家。