python - Python findall \n 与正则表达式
问题描述
试图让所有组
76630000 76746000 ucrtbase
76750000 76764000 profapi
...
从字符串loaded_modules_raw
'start end module name\n76630000 76746000 ucrtbase (deferred) \n76750000 76764000 profapi (deferred) \n76770000 76840000 KERNEL32 (deferred) \n76840000 768bc000 msvcp_win (deferred) \n768c0000 76903000 sechost (deferred) \n76920000 76af8000 KERNELBASE (deferred) \n77090000 770d5000 SHLWAPI (deferred) \n770e0000 776a7000 windows_storage (deferred) \n776b0000 776d2000 GDI32 (deferred) \n776e0000 77758000 ADVAPI32 (deferred) \n777c0000 7787d000 msvcrt (deferred) \n77880000 77896000 win32u (deferred) \n778a0000 77928000 shcore (deferred) \n77940000 77965000 IMM32 (延迟)\n779c0000 77b4c000 ntdll(pdb 符号)D:\NG\bin\Debug\wntdll.pdb\E04B114840C9B587E2E333AED97D8C9A1\wntdll.pdb\n\n卸载的模块:\n76910000 76916000 psapi.dll\n'
和
loaded_modules = re.findall(r"\\n(\w+)\s(\w+)\s+(\w+)",loaded_modules_raw)
试过了re.DOTALL
结果我得到None
为什么?
解决方案
s = '''start end module name\n76630000 76746000 ucrtbase (deferred) \n76750000 76764000 profapi (deferred) \n76770000 76840000 KERNEL32 (deferred) \n76840000 768bc000 msvcp_win (deferred) \n768c0000 76903000 sechost (deferred) \n76920000 76af8000 KERNELBASE (deferred) \n77090000 770d5000 SHLWAPI (deferred) \n770e0000 776a7000 windows_storage (deferred) \n776b0000 776d2000 GDI32 (deferred) \n776e0000 77758000 ADVAPI32 (deferred) \n777c0000 7787d000 msvcrt (deferred) \n77880000 77896000 win32u (deferred) \n778a0000 77928000 shcore (deferred) \n77940000 77965000 IMM32 (deferred) \n779c0000 77b4c000 ntdll (pdb symbols) D:\\NG\\bin\\Debug\\wntdll.pdb\\E04B114840C9B587E2E333AED97D8C9A1\\wntdll.pdb\n\nUnloaded modules:\n76910000 76916000 psapi.dll\n'''
import re
g = re.findall(r"^([0-9a-f]+)\s+([0-9a-f]+)\s+([\w.]+)", s, flags=re.M)
for start, end, module_name in g:
print('{:<15} {:<15} {:<15}'.format(start, end, module_name))
印刷:
76630000 76746000 ucrtbase
76750000 76764000 profapi
76770000 76840000 KERNEL32
76840000 768bc000 msvcp_win
768c0000 76903000 sechost
76920000 76af8000 KERNELBASE
77090000 770d5000 SHLWAPI
770e0000 776a7000 windows_storage
776b0000 776d2000 GDI32
776e0000 77758000 ADVAPI32
777c0000 7787d000 msvcrt
77880000 77896000 win32u
778a0000 77928000 shcore
77940000 77965000 IMM32
779c0000 77b4c000 ntdll
76910000 76916000 psapi.dll
推荐阅读
- java - 应用程序实例之间的 Java 同步
- javascript - Javascript 将大字符串拆分成带有引号和换行符的小部分
- javascript - 这是改变反应状态的可接受方式吗?
- python - 嵌套元组......将两个元组相乘并存储在第三个......怎么做......?
- excel - 如何将数据框附加到Excel工作表中
- python-3.x - Python Keras LSTM 'ValueError: `start_index+length='
- flutter - 键盘出现时将文本字段滚动到视图中 Flutter
- docker - Docker 客户端 API 版本问题
- c# - 从代码中突出显示 ListView 项 - WPF 数据绑定
- javascript - 在每个固定小时后 1 分钟刷新的脚本