我有以下正则表达式\[([^]]*)] ([^]]*)
,我用它将[text] message to send!
之类的字符串分为text
作为类型,message to send!
作为消息,我这样使用它更改要发送的消息类型更加容易。它确实运作良好,但是我遇到了一个问题,如果消息包含[ ]
,例如,它以表达式结尾:[text] message to send as a [test] anything after this is ignored!
它会将text
作为组1处理,而仅将[text] message to send as a [test
处理为第二组。
我如何才能做到,找到第一个[ ]
之后,第二组什么都没做,而忽略之后的内容并将其放在第二组中?
答案 0 :(得分:1)
如果您要匹配的是其他人,那么您已经在匹配第一个组,然后只需将正则表达式更改为
\[([^]]*)] ([^]]*)
到
\[([^]]*)](.*)