匹配可选的String正则表达式

时间:2012-03-21 14:08:19

标签: regex

我必须为我的小问题找到解决方案: - /。

我有一条消息,例如

状态:好的

状态:ERR |下一条消息

是否可以为“状态”创建正则表达式+可选的消息如果存在?

非常感谢

2 个答案:

答案 0 :(得分:4)

您可以使用以下内容:

/^Status:\s*([A-Z]+)(?:\|([^$]*))?$/

这匹配所有数据,并返回OK或ERR作为第一个元素,只返回消息作为第二个元素。

其他信息(?:表示法(在\ |之前)是“隐藏”分组。也就是说,小组但不要取。

答案 1 :(得分:0)

/Status: (\w+)(\|(.+))?/

这将捕获第一组中的状态代码(OK,ERR)和第三组中的消息(如果存在于字符串中)。