正则表达式,忽略第二组中的特定字符

时间:2019-05-23 00:31:15

标签: regex

我有以下正则表达式\[([^]]*)] ([^]]*),我用它将[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处理为第二组。
我如何才能做到,找到第一个[ ]之后,第二组什么都没做,而忽略之后的内容并将其放在第二组中?

示例:https://regex101.com/r/mXDReg/2

1 个答案:

答案 0 :(得分:1)

如果您要匹配的是其他人,那么您已经在匹配第一个组,然后只需将正则表达式更改为

\[([^]]*)] ([^]]*)

\[([^]]*)](.*)