【发布时间】:2019-03-15 20:51:30
【问题描述】:
我有一个旧应用程序,它使用扩展 POSIX 正则表达式来评估返回码以做出一些决定。
返回代码示例:
RETCODE = 0 SUCCESS
RETCODE = 3007 ERR3007
RETCODE = 3001 ERR3001
RETCODE = 13007 ERR13007
RETCODE = 3 ERR3
RETCODE = 1 ERR1
我写了一个正则表达式,用于在返回码为 0 或 3007 时考虑成功:“.*RETCODE = (0|3007).*”
现在我需要另一个正则表达式来在返回码是其他值时考虑 FAILURE。这意味着,当返回码既不是 0 也不是 3007 时。
注意 1:我的应用程序仅将“^”视为否定字符。
注意 2:我使用命令“egrep”测试表达式
您能帮我解决一下这种情况吗?
提前致谢。
伊万。
【问题讨论】:
-
您能告诉我们为什么需要两个正则表达式吗?因为
RETCODE = ((0|3007)|([0-9]+))[ ]匹配两种返回类型,并将成功代码存储在第二个捕获组中,并将失败代码存储在第三个捕获组中。
标签: regex posix regex-negation