假设我有一个字符串
Abc=cde&efg
这个公式给了我三个组
(.*=)(.*)(&.*)
但如果输入字符串是动态的,并且&efg
可能存在或不存在怎么办?
当它不是上面的配方时,我什么都不会给.
我需要在Golang中使用这个正则表达式,我希望使用一个正则表达式(如果可能的话),而不使用&
拆分字符串.
假设我有一个字符串
Abc=cde&efg
这个公式给了我三个组
(.*=)(.*)(&.*)
但如果输入字符串是动态的,并且&efg
可能存在或不存在怎么办?
当它不是上面的配方时,我什么都不会给.
我需要在Golang中使用这个正则表达式,我希望使用一个正则表达式(如果可能的话),而不使用&
拆分字符串.
您可以使用
^(.*=)(.*?)(&.*)?$
请看regex demo.
Details:
^
-字符串的开始(.*=)
-组1:除换行符之外的任何零个或多个字符,尽可能多,然后是=
个字符(.*?)
-组2:除换行符之外的任何零个或多个字符应尽可能少(&.*)?
-第3组(可选):A &
,然后是除换行符之外的任何零个或多个字符$
-字符串结束.