【发布时间】:2009-02-05 03:16:31
【问题描述】:
我正在使用 Java 匹配器来尝试匹配以下内容:
@tag TYPE_WITH_POSSIBLE_SUBTYPE -PARNAME1=PARVALUE1 -PARNAME2=PARVALUE2: MESSAGE
TYPE_WITH_POSSIBLE_SUBTYPE 由带句点的字母组成。
每个参数都必须由字母组成,每个值都必须由数字/字母组成。可以有 0 个或多个参数。 紧跟在最后一个参数值之后的是分号、一个空格,其余的被认为是消息。
一切都需要分组。
我当前的正则表达式(作为 Java 文字)是:
(@tag)[\\s]+?([\\w\\.]*?)[\\s]*?(-.*=.*)*?[\\s]*?[:](.*)
但是,我一直将所有参数作为一组。如果可能的话,我如何将每个人作为一个单独的组?
我不太会使用正则表达式,所以我总是搞砸一些事情。
【问题讨论】: