冥界3大法王 发表于 2022-8-28 14:41

关于Delphi正则表达式,中间匹配到的到底算不算字符串?

本帖最后由 冥界3大法王 于 2022-8-28 19:34 编辑

原字符串内容如下:

.rtcFileLen
.UnhandledExceptionFilter

uses
   RegularExpressions;procedure




T断点窗口.ComboBox2Change(Sender: TObject);
var
sFile: TStrings;
r: Integer;
matchs: TMatchCollection;
match: TMatch;
a1: string;
begin
CheckListBox1.Items.Clear;
sFile := TStringList.Create;
sFile.LoadFromFile(ExtractFilePath(Application.Exename) + '\Data\全.txt');
for r := 0 to sFile.Count - 1 do
begin
    if TRegEx.IsMatch(sFile, '^' + IntToStr(combobox2.ItemIndex) + '\..+\)$') then
    begin
      matchs := TRegEx.Matches(sFile, '\..+\)$');
      for match in matchs do
      begin
//      a1 := delete(match.Value, 1, 1);      =======> 我想加一句这个,把 上面引用部分,每行前面的 点去掉
结果报错了。
      CheckListBox1.Items.Add(match.Value + #13#10);
      end;
    end
end;
deletefile(ExtractFilePath(Application.Exename) + '\Data\2.txt');
sFile.Free;
end;

coolcalf 发表于 2022-8-28 15:17

正则与语言无关,通用。
你想要的正则匹配,通常网上的能直接用,不需要自己一点点写。

axiong 发表于 2022-8-28 18:29

我的办法是:找个正则表达式的网站,输入字符串、正则,直接查看效果。

zxxiaopi 发表于 2022-8-28 18:48

继续学习大佬

马可菠萝蜜 发表于 2022-8-28 20:09

前阵子也有用到delphi,头大啊,这么难用的语言怎么还活着。。

swjia 发表于 2022-8-28 20:41

马可菠萝蜜 发表于 2022-8-28 20:09
前阵子也有用到delphi,头大啊,这么难用的语言怎么还活着。。

delphi算难用,其它的就只能说是超级难用了

冥界3大法王 发表于 2022-8-28 21:10

本帖最后由 冥界3大法王 于 2022-8-28 21:13 编辑

马可菠萝蜜 发表于 2022-8-28 20:09
前阵子也有用到delphi,头大啊,这么难用的语言怎么还活着。。别扯犊子了,Dephi算是非常好上手,轻松就能制作赚钱机器的最佳生产力工具了。
台胞,还有QQ群里的不少人天天用这个接单。外国用户还有很多的成份呢。。。
现在是全平台支持;新版本更是功能强大。{:301_1006:}
当你精通一门之后,其他的也不过如此,换换一些东西就可以快速上手了。
行不行的那都在人为,而莫要怪工具。

常用断点
.rtcFileLen
.UnhandledExceptionFilter
.FindFirstFileA(查找文件)
常用断点
0.rtcFileLen(VB自效验)
0.UnhandledExceptionFilter(判断进程是否附加调试器)
0.SetUnhandledExceptionFilter(抛出异常来判断是否被调试)
0.FindFirstFileA(查找文件)
0.ExitProcess(程序退出)
0.GetStartupInfoA(获取启动信息)
0.GetFileSize(取文件大小)
0.VirtualProtect(Vmp脱壳)
0.ExitWindowsEx(关机断点)
0.CreateFileA(自效验)
0.GetVersion(易语言脱壳)
0.Send(发送封包)
0.WSASend(发送封包)
0.recv(接收封包)
0.RtlAdjustPrivilege(易语言快速关机)
0.SHFormatDrive(格盘API)
0.RemoveDirectoryA(删除指定目录)
0.DeleteFileA(删除指定文件)
对话框
1.MessageBox(信息框)
1.MessageBoxA
1.MessageBoxW
1.MessageBoxExA
1.MessageBoxExW
1.MessageBoxIndirect(消息框)
1.MessageBoxIndirectA
1.MessageBoxIndirectW
1.GetWindowTextA(取控件文本)
1.GetWindowTextW
1.SetWindowTextA(置控件标题)
1.GetDlgItemText(取控件文本)
1.GetDlgItemTextA
1.GetDlgItemTextW
1.SetDlgItemTextA(置控件文本)
1.GetDlgItemInt(取控件中整数)
1.SetDlgItemInt(置控件中文本)
1.SendMessage(消息发送)
1.SendDlgItemMessage(消息发送)
1.IsDialogMessageA(发消息)
1.IsDialogMessageW
1.SendMessageA(发消息)
1.DispatchMessageA(发消息)
1.CallWindowProcA(发消息)
1.CallWindowProcW(发消息)
1.DefWindowProcA(消息默认处理)
1.MessageBeep(系统警告声)
1.DrawTextA(文本描绘到矩形中)
1.DrawTextExA
1.DrawTextExW
1.FindWindowA(获得窗口句柄)
1.GetClipboardData(取剪贴板数据)
1.CoInitialize(始化com库)
1.CoCreateInstance(建Com对象)
1.LoadIconA(装入图标资源)
1.SetWindowLongA(置窗口属性)
1.SetWindowTextA(置控件文本)
1.ShowWindow(置窗口显示状态)
1.movewindow(置窗口位置和大小)
1.ShowWindow(显示窗口)
1.UpdateWindow(更新窗口)
1.CreateWindowExA(建窗口)
1.CreateWindow(创建窗口)
1.CreateWindowExA()
1.CreateWindowExW()
1.DestroyWindow(销毁窗口)
1.DialogBox(模态对话框)
1.EndDialog(清除模态对话框)
1.DialogBoxParam(模态对话框)
1.DialogBoxParamA
1.DialogBoxParamW
1.DialogBoxIndirect(建模框)
1.DialogBoxIndirectParamA(模框)
1.DialogBoxIndirectParamW
1.CreateDialog(非模态对话框)
1.CreateDialogParam(非模态对话框)
1.CreateDialogParamA
1.CreateDialogIndirect(非模态对话框)
1.CreateDialogIndirectParam(非模框)
1.CreateDialogIndirectParamA
1.TranslateMessage(消息队列)
1.GetMessageA(取消息到结构)
1.PeekMessageA(查消息到结构)
功能限制
2.SetMenu(建菜单)
2.DestroyMenu(删除菜单)
2.DeleteMenu(删除菜单项)
2.EnableMenuItem(菜单有无变灰)
2.EnableWindow(禁止键盘鼠标输入)
文件处理
3.CreateFileA(创建或打开文件)
3.CreateFileW
3.OpenFile(打开文件)
3.ReadFile(读文件)
3.WriteFile(写文件)
3.GetFileSize(取文件大小)
3.FindFirstFileA(查找文件)
3.GetModuleFileNameA(取文件路径)
3.OpenFileMappingA(打开文件映射对象)
3.OpenFileMappingW
3.LoadLibraryA(加载DLL)
3.LoadLibraryW
3.LoadLibraryExA
3.LoadLibraryExW
3.CreateFileMappingA(创建文件对象)
3.CopyFileA(复制文件)
3.CopyFileW
3.CopyFileExA
3.CopyFileExW
3.SetFilePointer(设置文件读写位置)
3.MoveFileA(移动文件)
3.MoveFileW
3.MoveFileExA
3.MoveFileExW
3.DeleteFileA(删除文件)
3.DeleteFileW
3.LoadCursorFromFileA(创建文件光标)
3.FileOpen(打开文件)
ini文件
4.GetPrivateProfileStringA(INI重启验证常用)
4.GetPrivateProfileIntA(初始化文件)
4.GetPrivateProfileStringA(取字串)
4.WritePrivateProfileStringA(设置字串)
注册表
5.RegOpenKeyA(打开注册表项)
5.RegOpenKeyExA(重启验证常用)
5.RegCreateKeyExA
5.RegQueryValueExA
5.RegCreateKeyA(创建新项)
5.RegCloseKey(关闭注册表)
5.RegDeleteKeyA(删除键值)
5.RegDeleteKeyW
5.RegQueryValueA(取值)
5.RegEnumKeyExA(枚举子项)
5.RegSetValueA(设置默认值)
5.RegSetValueW()
5.RegSetValueExA(设置指定项的值)
5.RegSetValueExW
时间处理
6.SetSystemTime(设置系统时间)
6.TimerProc(回调函数)
6.SetLocalTime(设置本地时间)
6.GetSystemTime(载入系统时间)
6.GetLocalTime(取本地时间)
6.GetSystemtime(取系统时间)
6.GetCurrentTime(取系统时间)
6.GetFileTime(获取文件时间)
6.GetTickCount(系统启动后所经过的毫秒数)
6.CompareFileTime(比较文件时间)
6.SetTimer(创建定时器)
6.KillTimer(移除定时器)
6.winmm:timeSetEvent(多媒体定时器)
进程函数
7.CreateThread(创建线程)
7.GetModuleHandleA(取模块(实例)句柄)
7.OpenMutexA(打开互斥体)
7.WriteProcessMemory(设定内存)
7.CreateRemoteThread(创建线程)
7.CreateProcessA(创建进程)
7.OpenProcess(取进程句柄)
7.ExitProcess(退出进程)
7.ExitThread(终止当前线程)
7.TerminateProcess(终止一个进程)
7.CreateToolhelp32Snapshot(获取进程的列表)
7.Process32First(取进程句柄)
7.Process32FirstW()
7.Process32Next(取进程句柄)
7.Module32Next(取模块句柄)
7.Module32NextW()
7.Module32First(取模块句柄)
7.Module32FirstW()
7.Heap32ListFirst(取堆句柄)
7.Heap32ListNext(取堆句柄)
7.GetProcessHeap(取堆句柄)
7.Heap32First(取进程堆相关信息)
7.Heap32Next(取堆的相关信息)
7.PostQuitMessage(终止线程)
7.PostQuitMessageA(终止线程)
7.IsDebuggerPresent(判断进程是否被调试)
7.OpenProcessToken(获得进程访问令牌的句柄)
7.OpenThreadToken()
7.ZwQueryInformationProcess(反调试相关函数检测)
磁盘处理函数
8.GetDiskFreeSpaceA(取磁盘信息)
8.GetDriveTypeA(判断磁盘驱动器类型)
8.GetLogicalDrives(取驱动器字母)
8.GetLogicalDriveStringsA(取驱动器路径)
8.GetLastError(返回扩充出错代码)
VB5专用断点
9.MSVBVM60:rtcFileLen(VB校验)
VB6专用断点
10.FindResourceA(VB校验)
10.CreateFileA(VB校验)
10.GetVolumeInformation(磁盘卷)
10.MultiByteToWideChar(A转U字符串)
10.WideCharToMultiByte(U转A字符串)
10.GetFileSize(判断文件长度)
10.OLEAUT32:VarCyFromStr(字串到整型)
10.OLEAUT32:arBstrFromI2(整型到字串)
10.MSVBVM60:rtcFileLen(VB校验)
10.MSVBVM60:rtcFileLength(VB校验)
10.MSVBVM60:rtcMsgBox(显示对话框)
10.MSVBVM60:rtcInputBox(输入窗口)
10.MSVBVM60:rtcFileLen
10.MSVBVM60:GetMemStr
10.MSVBVM60:rtcR8ValFromBstr
10.MSVBVM60:rtcGetPresentDate
10.MSVBVM60:rtcBeep
10.MSVBVM60:rtcTrimBstr(去字串中空格)
10.MSVBVM60:rtcMidCharVar(字串中取字符)
10.MSVBVM60:rtcLeftCharVar(字串左边取字符)
10.MSVBVM60:rtcRightCharVar(字串右边取字符)
10.MSVBVM60:StrConv(转换字符串)
10.MSVBVM60:rtcT8ValFromBstr(字符转浮点数)
10.MSVBVM60:__vbaI2Str(字符转1字节数值)
10.MSVBVM60:__vbaI4Str(字符转4字节数值)
10.MSVBVM60:__vbar4Str(字符转4浮点型)
10.MSVBVM60:__vbar8Str(字符转8浮点型)
10.MSVBVM60:__vbavaradd(变量值相加)
10.MSVBVM60:__vbavarsub(变量值相减)
10.MSVBVM60:__vbavarmul(变量值相乘)
10.MSVBVM60:__vbavaridiv(变量值相除)
10.MSVBVM60:__vbavarxor(变量值异域)
10.MSVBVM60:__vbavarcat(变量值相连)
10.MSVBVM60:__vbaStrCat(字串相连)
10.MSVBVM60:__vbaVarCat(连接字串)
10.MSVBVM60:__vbaStrCmp(字串比较)
10.MSVBVM60:__vbaStrCmp(比较字串)
10.MSVBVM60:__vbaStrComp(比较字串)
10.MSVBVM60:__vbaVarTstEq(比较变量)
10.MSVBVM60:__vbaFreeStr(变量拷贝到内存)
10.MSVBVM60:__vbaStrCopy(字符拷贝到内存)
10.MSVBVM60:__vbaLenBstr(取字符串的长度)
10.MSVBVM60:__vbavarfornext(循环结构)
10.MSVBVM60:__vbafreeobj(释放对象)
10.MSVBVM60:__vbastrvarval
10.MSVBVM60:__vbaVarTstNe(VB校验)
10.MSVBVM60:__vbaEnd(VB校验)
10.MSVBVM60:__vbaVarMoves(变量内存移动)
10.MSVBVM60:__vbaStrMove(移动字符串)
10.MSVBVM60:__vbaNew(显示对话框)
10.MSVBVM60:__vbaNew2(显示对话框)
10.MSVBVM60:__vbaEnd
10.MSVBVM60:__vbaVarCopy
10.MSVBVM60:__vbaFileOpen
10.MSVBVM60:__vbaInputFile
10.MSVBVM60:__vbaWriteFile
10.MSVBVM60:__vbaStrCompVar
10.MSVBVM60:__vbaStrTextCmp
10.MSVBVM60:__vbaFileOpen
10.MSVBVM60:__vbaInputFile
10.MSVBVM60:__vbaWriteFile
10.MSVBVM60:__vbaFileClose
10.MSVBVM60:__vbaStrToAnsi(注册表重启验证)
10.MSVBVM60:__vbaFreeStr(重启验证)
10.MSVBVM60:__vbaObjSet(灰色按钮)
加密狗
11.LoadLibraryA(载入DLL)
11.LoadLibraryW
11.LoadLibraryExA
11.LoadLibraryExW
11.RefreshDeviceList(深思3)
11.DeviceIoControl(操作设备)
11.Prestochangoselector
11.FreeEnvironmentStringsA(释放环境字串块)
11.GetLogicalDriveStringsA(取列表)
11.GetLogicalDrives(取驱动器列表)
11.GetDriveTypeA(判断驱动器类型)
11.CreateFileA(读狗驱动)
11.FindFirstFileA(查找文件)
调试病毒专用
12.CreateFileA
12.LoadLibraryA
12.LoadLibraryW
12.LoadLibraryExA
12.LoadLibraryExW
12.CreateThread
12.CreateProcessA
12.CreateRemoteThread
12.WriteProcessMemory
12.OpenMutexA
12.OpenMutexW
12.CreateToolhelp32Snapshot
12.Heap32ListFirst
12.Heap32ListNext
12.Heap32First
12.Heap32Next
12.Module32First
12.Module32Next
12.Module32FirstW
12.Module32NextW
12.Process32First
12.Process32Next
12.Process32FirstA
12.Process32FirstW
12.PostQuitMessage
12.Toolhelp32ReadProcessMemory
12.ZwQueryInformationProcess(反调试)
12.SetTimer
12.GetTempPathA
12.ReadFile
12.WriteFile
12.ShellExecuteA
12.WinExec(调用其它可执行文件)
12.DeleteFileA
12.URLDownloadToFileA
VC、MFC程序逆向
13.lstrcmpA(字符串比较)
13.DefWindowProcA(调用缺省过程)
13.DefWindowProcW
13.RegisterClassA(注册窗口类)
13.RegisterClassW
13.RegisterClassExA
13.RegisterClassExW
13.FindResourceA(确定资源位置)
13.FindResourceW
13.LoadResource(装载资源)
13.SetHandleCount(取变量地址)
13.IsWindowEnabled(可否输入键鼠)
穿山甲专用断点
14.CreateThread(3寻找OEP)
14.GetModuleHandleA(魔幻跳转)
14.OpenMutexA(1转单进程两次改跳)
14.GetSystemTime(补丁KEY)
14.VirtualProtect(2EAX为401000返回)
14.CreateFileMappingA(辅助)
14.GetModuleHandle(取PE句柄)
KEY文件
15.getprivateprofileint
15.GetPrivateProfileInt(取文件内容)
15.CreateFileA(打开文件)
15.CreateFileW
15.ReadFile(文件中读出)
杀窗和去校验以及其它
16.FindResourceA(校验)
16.ReadFile(校验)
16.WriteFile(校验)
16.CreateFile(校验)
16.CreateFileA(校验)
16.GetFilesize(文件长度)
16.CreateFileA(校验)
16.GetFileSize(校验)
16.GetSystemDirectory(校验)
16.SetFilePointer(校验)
16.ExitProcess(退出进程校验)
16.Terminateprocess(校验)
16.ExitWindow(校验)
16.ExitWindowsEx(校验)
16.ExitThread(校验)
16.sZwSetInformationThread(校验)
16.GetFileSize(校验)
16.SetFilePointer(校验)
16.DestroyWindow(杀窗)
16.PostQuitMessage(杀窗)
16.mouse_event(鼠标中断)
16.GetClipboardData(剪贴板数据)
16.ShellExecuteA(弹网页问题)
16.VirtualFree(脱壳释放内存)
16.VirtualAlloc(脱壳申请内存)
16.VirtualProtect(脱壳保护内存)
16.Lockmytask(拦按键动作没思路试试)
16.GetDlgItem(断按钮没思路试试)
16.GetWindowsDirectoryA(没思路试试)
16.GetFullPathName(没思路试试)
16.gdi32:BitBlt(位图)
常用比较断点
17.Compare()
17.CompareNoCase()
17.Collate()
17.lstrcmp()
17._mbscmp()
17._mbsicmp()
17._mbscoll()
17._wcsicmp()
17.wcscmp()
17.wcscoll()
网络函数
18.Ws2_32:send(发包)
18.Ws2_32:sendto(发包)
18.Ws2_32:WSASend(发包)
18.Ws2_32:WSASendTo(发包)
18.Ws2_32:recv(接收数据)
18.Ws2_32:inet_addr(ip地址)
18.Ws2_32:connect(TCP客户端连接到服务器)
内存操作
19.FindWindow(取窗口句柄)
19.GetWindowThreadProcessId(ID)
19.OpenProcess(取进程句柄)
19.VirtualAllocEx(申请内存)
19.WriteProcessMemory(写内存)
19.CreateRemoteThread(创建线程)
19.ReadProcessMemory(读内存)
19.CreateMutex(创建互斥体)
19.GetModuleHandleA(取模块句柄)
19.GetProcAddress(取函数入口地址)
19.VirtualAlloc(申请内存)
19.VirtualFree(释放内存)
19.LoadLibraryA(加载DLL)
19.GetVersion(获取操作系统版本)
Ring3防检测
20.GetDesktopWindow(获取桌面的窗口句柄)
MFC
21.WithinyouIlosemyself()
QT程序
22.?setEnabled@QWidget(灰色按钮)
22.?text@QLineEdit(取文字控件)
@axiong   @coolcalf

来来来,二位别光耍嘴皮子,给匹配一个再走,要求输出,形如下的的每行匹配:
FindFirstFileA(查找文件)

sunsjw 发表于 2022-8-29 09:19

和语言无关,最基本的编程知识,列表遍历时删除,要从后往前遍历。

塞北的雪 发表于 2022-8-29 09:23

本帖最后由 塞北的雪 于 2022-8-29 09:35 编辑

^\d+\.(.*)

马可菠萝蜜 发表于 2022-8-29 10:00

我不是程序员,只是觉得python是真的好用方便
页: [1] 2
查看完整版本: 关于Delphi正则表达式,中间匹配到的到底算不算字符串?