Python 如何使用re获取具有类似格式的多个变量?

Python 如何使用re获取具有类似格式的多个变量?,python,regex,Python,Regex,我多次尝试获取具有类似模式的字符串 例如,对于我的字符串“SeNetworkLogonRight=*S-1-5-11,*S-1-5-32-544”,我试图获取“*S-1-5-11”和“*S-1-5-32-544”并将它们附加到列表中。我试着做了以下几点: >>> test = "SeNetworkLogonRight = *S-1-5-11,*S-1-5-32-544" >>> print(re.findall('[*].[^.]*\d$', test))

我多次尝试获取具有类似模式的字符串

例如,对于我的字符串“
SeNetworkLogonRight=*S-1-5-11,*S-1-5-32-544
”,我试图获取“
*S-1-5-11
”和“
*S-1-5-32-544
”并将它们附加到列表中。我试着做了以下几点:

>>> test = "SeNetworkLogonRight = *S-1-5-11,*S-1-5-32-544"
>>> print(re.findall('[*].[^.]*\d$', test))


Result obtained:
['*S-1-5-11,*S-1-5-32-544']
如何分别获取这些值并以这种格式将其附加到列表中

['*S-1-5-11', '*S-1-5-32-544']

在下列情况下,您可以匹配星号和除逗号以外的任何1+字符:

r'\*[^,]+'
详细信息

  • \*
    -星号(必须转义,因为它是一个特殊的正则元字符,否则)
  • [^,]+
    -与逗号以外的1个或多个字符匹配的否定字符类
:


请尝试
r'\*[^,]+'
Hi Wiktor,谢谢您的帮助。
import re
test = "SeNetworkLogonRight = *S-1-5-11,*S-1-5-32-544"
print(re.findall(r'\*[^,]+', test))
# => ['*S-1-5-11', '*S-1-5-32-544']