我试图多次获取具有相似模式的字符串。
例如,对于我的字符串“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 个或多个逗号以外的字符。
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']
关于python - 如何使用 re 获取具有相似格式的多个变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54398602/