Python - 在字符串中搜索匹配项

Python - Search for match in string

正想拿起python并使用它,但我很头疼。我有一个日志文件,我想搜索特定的用户名,但生成的字符串类似于下面的内容(删除了敏感位);

MSWinEventLog<009>5<009>Security<009>1157464<009>Mon Apr 24 00:37:27 2017<009>4672<009>Microsoft-Windows-Security-Auditing<009><009>N/A<009>Audit Success<009>Domain-Controller<009>17548<009>Special privileges assigned to new logon.<013><010><013><010>Subject:<013><010><009>Security ID:<009><009>S-9-8-21-9576767673-22488686304-465465468911-1103<013><010><009>Account Name:<009><009>MyUserNameSearch<013><010><009>Account Domain:<009><009>DomainName<013><010><009>Logon ID:<009><009>0x2176ca6b<013><010><013><010>Privileges:<009><009>SeSecurityPrivilege<013><010><009><009><009>SeBackupPrivilege<013><010><009><009><009>SeRestorePrivilege<013><010><009><009><009>SeTakeOwnershipPrivilege<013><010><009><009><009>SeDebugPrivilege<013><010><009><009><009>SeSystemEnvironmentPrivilege<013><010><009><009><009>SeLoadDriverPrivilege<013><010><009><009><009>SeImpersonatePrivilege<013><010><009><009><009>SeEnableDelegationPrivilege

这是用户名,如何搜索?到目前为止我有这个

import csv
import re

username = input('Enter Username\n')
regex = re.compile('.username.')
with open('C:/Path/To/Log/File.csv', newline='') as csvfile:
    logreader = csv.reader(csvfile, delimiter=',', quotechar='|')
    for row in logreader:
        for field in row:
            if field == username:
                print('found it')

如何在用户名的开头和开头引入通配符?

我想让脚本做的就是搜索给定的用户名和 return 找到用户名的行。如果我能让它工作,那么我会看看如何 return 行。

您可以将 if field == username 行替换为 if username in field

如果您的 username 字符串是 in field 字符串,这将始终 return True


field = 'abcd1234'
username = 'cd12'

if username in field:
    print('found it')

>>> found it