我需要从日志中找到用户。
我的日志文件中有一行代码。该行中的一个字符串是userid。我也有所有用户ID的列表。
有没有简单的方法来识别该行中提到的用户ID。
例如: Calling Business function ProcessSOMBFCommitment_Sourcing from F4211FSEditLine for ND9074524. Application Name [P421002], Version [] (BSFNLevel = 3)
此处,ND9074525
是用户ID。我的目的是从行中识别用户。
其他可能的用户ID可以是AB9074158
,AC9074168
,AD9074123
,AE9074152
我不想遍历所有可能的用户ID。我想到了创建所有用户ID的列表,并通过某种方法找到了在线使用的用户ID。不确定它是否存在。
答案 0 :(得分:3)
您可以使用此正则表达式来获取用户ID:
[A-Z]{2}\d{7}
然后检查有效的用户ID。
<强>代码:强>
import re
users = ['AB9074158', 'AC9074168', 'AD9074123', 'AE9074152']
s = 'Calling Business function ProcessSOMBFCommitment_Sourcing from F4211FSEditLine for ND9074524. Application Name [P421002], Version [] (BSFNLevel = 3)'
pat = '[A-Z]{2}\d{7}'
user_id = re.search(pat, s).group(0)
print(user_id)
if user_id in users:
print("User accepted!")
else:
print("User not accepted")
<强>输出:强>
'ND9074524'
'User not accepted'
答案 1 :(得分:1)
使用正则表达式查找与用户标识符模式匹配的所有字符串;那么你可以看看它们中是否有任何实际的用户ID。