0 我必须为我的小问题找到解决方案: - /。匹配可选字符串正则表达式 我有一个消息如 状态:OK 或 状态:ERR |下一条消息 是有可能创造一个正则表达式 “状态” +可选消息如果存在? 由于在第一组中有很多 勒内 来源 2012-03-21 Rene +0 这是什么表达?你想提取状态码吗? – 2012-03-21 14:09:37 +0 是和可选消息 – Rene 2012-03-21 14:14:14 +0 你到目前为止尝试过什么? http://regular-expressions.info是一个开始的好地方。 – 2012-03-21 14:23:27
4 您可以使用这样的事情: /^Status:\s*([A-Z]+)(?:\|([^$]*))?$/ 这所有的数据相匹配,并返回OK或ERR为第一要素,只有将消息作为第二个元素。 其他信息:(?:表示法(在\ |之前)是一个“隐藏”分组。那就是组,但不要取。 来源 2012-03-21 14:26:31 mikaelb +0 这个作品完美!非常感谢:-) – Rene 2012-03-21 14:28:29 +0 哇,一个非捕获组内的捕获组?尼斯:P – 2012-03-21 14:29:38 +0 谢谢。它可以是一个强大的工具:-) – mikaelb 2012-03-21 14:31:45
0 /Status: (\w+)(\|(.+))?/ 这将捕获的状态码(OK,ERR),和一个消息(如果存在于字符串)所述第三组中使用。 来源 2012-03-21 14:20:35 +0 几乎完美:-) – Rene 2012-03-21 14:23:23 +0 但它是否可能没有“|” ? – Rene 2012-03-21 14:23:37 +0 正则表达式中的'\ |'用于匹配“|”将状态代码与消息中的消息分开。你的意思是这些字符串实际上不会包含“|”字符? – 2012-03-21 14:25:21
这是什么表达?你想提取状态码吗? – 2012-03-21 14:09:37
是和可选消息 – Rene 2012-03-21 14:14:14
你到目前为止尝试过什么? http://regular-expressions.info是一个开始的好地方。 – 2012-03-21 14:23:27