私はログファイルから必要な情報を抽出するために正規表現(import re
)を試しています。複数行チェックの正規表現
更新:すべてのサンプルコードを破ったC:\WINDOWS\security
フォルダのアクセス許可が追加されました。
C:\:
BUILTIN\Administrators Allowed: Full Control
NT AUTHORITY\SYSTEM Allowed: Full Control
BUILTIN\Users Allowed: Read & Execute
BUILTIN\Users Allowed: Special Permissions:
Create Folders
BUILTIN\Users Allowed: Special Permissions:
Create Files
\Everyone Allowed: Read & Execute
(No auditing)
C:\WINDOWS\system32:
BUILTIN\Users Allowed: Read & Execute
BUILTIN\Power Users Allowed: Modify
BUILTIN\Power Users Allowed: Special Permissions:
Delete
BUILTIN\Administrators Allowed: Full Control
NT AUTHORITY\SYSTEM Allowed: Full Control
(No auditing)
C:\WINDOWS\system32\config:
BUILTIN\Users Allowed: Read & Execute
BUILTIN\Power Users Allowed: Read & Execute
BUILTIN\Administrators Allowed: Full Control
NT AUTHORITY\SYSTEM Allowed: Full Control
(No auditing)
C:\WINDOWS\security:
BUILTIN\Users Allowed: Special Permissions:
Traverse Folder
Read Attributes
Read Permissions
BUILTIN\Power Users Allowed: Special Permissions:
Traverse Folder
Read Attributes
Read Permissions
BUILTIN\Administrators Allowed: Full Control
NT AUTHORITY\SYSTEM Allowed: Full Control
(No auditing)
そして、それはいくつかの他のディレクトリのために繰り返される:
は、ログの形式があると言います。 paragraphs
に分割してSpecial Permissions:
が含まれている行を確認するにはどうすればよいですか?このよう
:いくつかの部分に
- セパレート全体がstring1、
C:\
とC:\WINDOWS\system32
。 - 表示行全体、例えば:次の '段落'
私のため C:\:
BUILTIN\Users Allowed: Special Permissions: \n\
Create Folders\n\
BUILTIN\Users Allowed: Special Permissions: \n\
Create Files\n\
r"(\w+:\\)(\w+\\?)*:"
- 私にパスを返す Special Permissions
4.ディスプレイを持つもの以外の他のすべての行を削除し、ステップ1 を繰り返し出力 3の残りの部分を取得する2. String関数や正規表現しかし、私は、それは効率的ではないと思います。
誰もが私にこれを案内できますか?ありがとう。
出力例:行には特別な許可がありませんよう
C:\:
BUILTIN\Users Allowed: Special Permissions:
Create Folders
BUILTIN\Users Allowed: Special Permissions:
Create Files
C:\WINDOWS\system32:
BUILTIN\Power Users Allowed: Special Permissions:
Delete
C:\WINDOWS\security:
BUILTIN\Users Allowed: Special Permissions:
Traverse Folder
Read Attributes
Read Permissions
BUILTIN\Power Users Allowed: Special Permissions:
Traverse Folder
Read Attributes
Read Permissions
C:\WINDOWS\system32\config
は表示されません。
私が使用していますテンプレート:
import re
text = ""
def main():
f = open('DirectoryPermissions.xls', 'r')
global text
for line in f:
text = text + line
f.close
print text
def regex():
global text
<insert code here>
if __name__ == '__main__':
main()
regex()
は 're'モジュールではなく、' regex'を使用してください。また、三重引用符で囲まれた文字列を調べます。 – nmichaels
最後にどのようなデータが必要ですか? – MattH
@nmichaels、Lol編集します。私は 'import re'を使用しています @MattH - 各パスに' Special Permissions: 'を含む完全な行を表示するには –