如何使用正则表达式获得多个匹配项



我正在尝试获取所有以 [& 开头并以 ] 结尾的字符串(例如 [&Prueba] (。

到目前为止,我有这个表达[&.*]问题是,如果我有两个或更多匹配,它会将它们视为一个,我的意思是例如

dsdd [&xD]s wpxxxxx.php [&dsdd]

正则表达式抛出一个匹配项,如下所示:[&xD]s wpxxxxx.php [&dsdd],我想得到两个结果:[&xD][&dsdd]

我怎样才能得到它?我已经尝试了几件事,但我仍然没有得到它。

谢谢和问候!

你需要做这样的事情:

[&[^]]+]

这是python中的一个例子:

import re
data = "dsdd [&xD]s wpxxxxx.php [&dsdd]"
results = re.findall("[&[^]]+]", data)
print (results)
['[&xD]', '[&dsdd]']

关键部分是用方括号括起来的负字符类(第一个带有与号(。 匹配 [ , 所有

非 ] 和最后 ]

这是一个很好的网站,可以玩这样的东西:https://regex101.com/

最新更新