 |
Cheat Engine The Official Site of Cheat Engine
|
View previous topic :: View next topic |
Author |
Message |
GH*master Expert Cheater
Reputation: 8
Joined: 10 Jan 2008 Posts: 159
|
Posted: Tue May 16, 2017 9:14 am Post subject: Tool CE Lua Regular Expression |
|
|
Tool CE Lua Regular Expression
For: string.match(); string.gmatch()
Hints:
1. Pastle GHL_ClassSettings.lua to autorun folder
2. Rename file "Lua Regular expression.CETRAINER[delete.lua" to "Lua Regular expression.CETRAINER"
3. Run the "Lua Regular expression.CETRAINER"
Quote: | . all characters
%a letters
%c control characters
%d digits
%l lower case letters
%p punctuation characters
%s space characters
%u upper case letters
%w alphanumeric characters
%x hexadecimal digits
%z the character with representation 0 |
20.2 – Patterns
Quote: | https://www.lua.org/pil/20.2.html |
Lua Patterns and Captures (Regular Expressions)
Quote: | http://www.easyuo.com/openeuo/wiki/index.php/Lua_Patterns_and_Captures_(Regular_Expressions) |
Source:
Code: | <?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="24">
<Forms>
<frmReg Class="TCEForm" Encoding="Ascii85">eU!@i,dveC=J=L,X%MPfpcf:BibSD86tz.jBrcbzK_!)AE*a^sKG-A1GttZ#5[aA93Hnfdrj8vau_w63:XQ=1_37CuKbH)6yf]@/LjU-Li[E=e+#MHI9@5GF5ZPxyl2lpDv[d_#ejCd[NUT!p#$4%e5rgPPoXM4@+CZHA1:%@U,@CKMHKyRW+YYdDlqZglhl,4!ulI87X,{:5?L*6*Af=]a;Qe$t(44SD@[15RQhwiMA)potEF4#:BYKa:)kPT4$3!]k.X@4MZB*w9i$XX$sC2KHZiuh?g+.;_g*maKyM4K^zx![c$[.:93JZnYmY)+2B]QURQ4-D{/IZHL2%A(Fs3d%:2%pV%k1(w=ff9rz)zG],e(,!mz4tEl+W2=xdb^3%e]U/2m}-}aCcCBCom=r-o:hjF^YiKB%(CIsb(u%ntkUSTKWCsvMh:?stY1di/UhvD%CgTX7tU%#k0M3xVA9w^gR6[a27u!{qvO[]Zp_I8H66CKr}!?%KNUP5w)E//Uhb4WQ6:w-:@o^ZpAbr0Z}T/dI3N#N)SDIMC:!Apj]Rkyx9Z2oOkcbN(bS}CoGDD5%{B@Ip78]2(t){q07*L.@+^2ygHR..Usgj+km?Sk*=lkTEztQ.M#*!=gJ+/:({R+kc,7L/Y)*^)MG1L[;$^PKDX[wR$jbsW@!u7GIF%P5iUuOH?yDU^#t-+NpK[XKtm14(bSkT0*cj1sBtosOegL^Gh7mH[#k[V!md},?Qrjs9khQC=-yh;I</frmReg>
</Forms>
<CheatEntries/>
<UserdefinedSymbols/>
<LuaScript>function Main16052017()
classSettings = ClassSettings:New('userdata.txt', '*.txt')
function Finding()
if frmReg.CERadioGroup1.ItemIndex == 0 then
frmReg.CEMemo2.Lines.Text = string.match(frmReg.CEMemo1.Lines.Text, frmReg.CEEdit1.Text)
else
local tempString = ''
for w in string.gmatch(frmReg.CEMemo1.Lines.Text, frmReg.CEEdit1.Text) do
tempString = tempString..w..';'
end
frmReg.CEMemo2.Lines.Text = tempString
end
classSettings:Set('textRegular', frmReg.CEEdit1.Text)
end
if classSettings:HasKey('frmReg') then
classSettings:LoadForm(frmReg, 'frmReg')
end
frmReg.OnResize = function()
classSettings:SaveForm(frmReg, 'frmReg')
end
frmReg.CEEdit1.Text = classSettings:Get('textRegular', '%[(.*)%]')
frmReg.CEButtonGO.OnClick = function (sender)
Finding()
end
frmReg.CEMemo1.Lines.Text = classSettings:Get('textMain', 'mov eax, [eax + 4 * 0C]')
frmReg.CEMemo1.OnChange = function (sender)
Finding()
end
Finding()
frmReg.OnClose = function (sender)
classSettings:Save()
closeCE()
return caHide
end
frmReg.Show()
end
Main16052017()
</LuaScript>
</CheatTable>
|
Description: |
|
Filesize: |
7.25 KB |
Viewed: |
20755 Time(s) |

|
Description: |
|
Filesize: |
7.24 KB |
Viewed: |
20772 Time(s) |

|
Description: |
|
 Download |
Filename: |
Lua Regular expression.CETRAINER[delete.lua |
Filesize: |
1.53 KB |
Downloaded: |
1752 Time(s) |
Description: |
|
 Download |
Filename: |
GHL_ClassSettings.lua |
Filesize: |
2.91 KB |
Downloaded: |
1653 Time(s) |
Last edited by GH*master on Tue May 16, 2017 10:05 am; edited 2 times in total |
|
Back to top |
|
 |
FreeER Grandmaster Cheater Supreme
Reputation: 53
Joined: 09 Aug 2013 Posts: 1091
|
Posted: Tue May 16, 2017 9:39 am Post subject: |
|
|
is the trainer required or simply a demo of what the autorun file provides?
Just asking because you haven't made it completely obvious and it seems like having simple string.regex and string.regexAll functions would be more useful than a GUI. Though it seems implied that it's replacing string.match() and string.gmatch()...
Unless it supports character classes and repeated characters (+,*,-,?) etc. then I don't think I'd call it regex anymore than I would lua's pattern matching (which was done because a true regex implementation would be larger than the entirety of lua now). More of a wildcard extension for lua's pattern matching. Calling it regex sets up an expectation and not meeting that will lead to people being disappointed which many people turn into annoyance/anger...
|
|
Back to top |
|
 |
GH*master Expert Cheater
Reputation: 8
Joined: 10 Jan 2008 Posts: 159
|
Posted: Sun Jun 18, 2017 2:01 am Post subject: Update |
|
|
Code: | <?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="26">
<Forms>
<frmReg Class="TCEForm" Encoding="Ascii85">=O4rk8${df?5XCyoTP/+DQ)q]qHM9##EoMYsYofbR?z2NnkWteRB^-vC-y4q9cy/saf:Wq5IrGr;IK9JaRec8fg:Zm.D(=^e+zyDIB^ZTclI.u#v!c]5./gMy*)c0y_-]P?68m=3Bu/3t?,$$ed!jqy7IQw-9YV.6_[yHi:uo7;Fo{YCPZly[oVlP;==YUbfiC_!cA/okhQE}):LoP@}QahpzbO%ozbSgs,*ROe{IHs9rlQhP5JyL#s+k%AfV]u0WE.}Jqy]3eQA%=4IP.zSgYVY]%C54%)^VXlv5Z)w;#eG.JsyY6WTjBp[R,q/c6@a?7uxzwPPK(Q5}Da!p21Gsp6U=3URB%)5TTH8qs$Vo01!(L@olx)LspRvNsI9ZRYaO?Te*PjzRPl-9$;B4q7%[s4q(ayT-gC3b^4cZt5DdiG#s^plte;QT$5ar*is5y4qywA/.UZXwQNkBm]L_xHk*@SIJfhfVjW?%+6clizMW!6INgo8DqR%rW3jG3O8OHcfaTt,/5V1Kq1RUzff3+7R9V%16z4PVDYik)n-N/B7k]x?RSSqtq+u7.+F6[*F+PLl5ZfRL7,v%j6%CB$ZXS+f*FyEXkf=EP^VTrUm[RdEEf0+@=*+.1-w}F=g98Q-mZHt/;,$UBX9c#6a*A=pD?TN6J8UC(Bgul$d58h%-t{x4z{z/7VgkjGTdPka(TvZjTb[^Wjw#-*qBPAOiA4e-ItHMPoYF@I*q=zf/}3!zrE(Bkv[:yT#7E2Z!)/AXF]HYxM6ckeWW:AxtmYdc5*{.$nK9JRnhatD)d2Ay:K_$IiwN(j3YjamirmcaT4Sphm5nWW0yTFJ0qXz.$47Xe-[-M_G^NY12bU0z7[GD6uN41P@9s81KD)Ya+Bm]Ed1uj!b?SOdE+C!n)u;guZdxg]Dy1X!3CH7uV5VHfUFCjo6rm_KY6J*zky)D%^1.Sq1[^*-9p@%1ha/T=HP#2$2(ou_0LsnnzNkQRwlvh07{U)b-b*V!vI/bT2P}V!/I*=s2GU2^Zp!?XkKQH4pG#W)$d;HVIvI1z/bC78nhAcCr,w8rRSI$aUlC9)a9%NTd^kP:7PwNr(LFAdc7pfS#@*n;vf;%bdjZN?hN=!gZi,AG]$NAzzJPaA1I@}0S9_J:;Q8cEu)SZ?tKze]OIad0/Z/T+h1[+BDyOG?_hWBKJ}?/Im+VyApPxy7ZvPAASF_DhfsJ.b1WKu8Y(5C)U1,ILHZ#P4g-W{Arx#bMD2Y[bQl4Or{Kq02_9E-ADm_v.*+1[;uxmhJdbAku!-hm2N=zid*P8sVB5l7R:]BEj1ca()+v=hLUI.T*6C}bl@hN]8kd}!g/%cfCpnS_FNelSL#5Cp3D36QpGXQ[NTkqDy%d[u3}S-:DO4PoLI/hr!c$Y)g?npV1M*a$?G!^ZAI0/d;.LER_8gD:RbAT243*;LL4.lM@SJFaqgi}Gu]/{H!aUTGBEILVseArn:8$]SfL;G,CyXbp7uAFwwPJFyb6B{3MC2k{CB{zSiFB[%JgQ1mQx9w)3d7o*q7r+UsKi)hF,HQ2s)*YlmQ99-P(WF2Ludprp=u%?fc.2b[c(,Od7#dRtg^1HE4.m1jY_*w^Hwo0A*qYY9mF@9H9pjMoUGvQ77_JHoNQ(D^ta8x$F{4_ya/x6[-ds6L#Z6%j4=/ct4}cJs_kV34iHGr.H@L*A9)[Kfiq_xQ6T60U:c)zZE-4,3#MklRFQ6#66;fHpjM[z@2NEi;!82L$3,WGZw^57%0ZwM)]^Hp)?v!%PYyz5c#Dt23,mf_t!mGNtQUYh.[@PvSMVlz0PI=iO:pW-,rJ3zBKq6)owe1aS;V]IZ0Xa;jin72dD;q?9;sRKjR-P#OY+F5h(TBPYp,/ii7bKx5dO?Ty{obR,U2Wk9Saf1G68+;:F64mN-FDbv(w[Xe9/n,r{.Po!/Gj[e:U}e5oESX?-fcF!?R}8R1K[A2]BXV4HI[J.+^a}ZkJXa6m*UwYPmA=ru[UqUej#!,%z9oru)Seeh}Krp=vs=6m+Uv]NRH:f,W}na#*7@EDlwM*Pj9H$9:G@o2_5KP1g1dsGD0ys77k3SDep1p:zX-rpiyS8cDM6xcGo*s2]/6RwJig!w#=!0xjIO0i/qco%Fgy7[Kg/CG@Yl?B2rsOOl3rviPwutmXUak]un@=Ap^dU5#8lpE#gSVRzfL*H;yB-[qlOr6X,g!FT29CjR8)y{GYVdCXmTs[NGgm)GT{!0pViJ^/mhEFD[?Yfnx7YYF*u5rhIIQSTsa:O+qS:iMgmue01zi/d@=GcJ$6^I4)+R-f,hSXn^.^ss</frmReg>
</Forms>
<CheatEntries/>
<UserdefinedSymbols/>
<LuaScript>function RegCEButtonGO1Click(sender)
frmReg.CEMemoResult1.Lines.Text = string.match(
frmReg.CEMemoInputString1.Lines.Text,
frmReg.CEEditPattern1.Text, frmReg.CEEditInit1.Text)
end
function RegCEButtonGO2Click(sender)
local tempString = ''
for w in string.gmatch(frmReg.CEMemoInputString2.Lines.Text,
frmReg.CEEditPattern2.Text) do
tempString = tempString..w..';'
end
frmReg.CEMemoResult2.Lines.Text = tempString
end
function RegCEButtonGO3Click(sender)
frmReg.CEMemoResult3.Lines.Text = string.gsub( frmReg.CEMemoInputString3.Lines.Text,
frmReg.CEEditPattern3.Text, frmReg.CEEditRepl3.Text,
tonumber(frmReg.CEEditN3.Text))
end
function RegCEButtonGO4Click(sender)
local a, b, c1, c2, c3, c4, c5, c6, c7, c8, c9 = string.find(frmReg.CEMemoInputString4.Lines.Text,
frmReg.CEEditPattern4.Text,
tonumber(frmReg.CEEditInit4.Text),
frmReg.CECheckboxPlain4.Checked)
local s = a..' '..b
if c9 ~= nil then s = s..' '..c1..' '..c2..' '..c3..' '..c4..' '..c5..' '..c6..' '..c7..' '..c8..' '..c9
elseif c8 ~= nil then s = s..' '..c1..' '..c2..' '..c3..' '..c4..' '..c5..' '..c6..' '..c7..' '..c8
elseif c7 ~= nil then s = s..' '..c1..' '..c2..' '..c3..' '..c4..' '..c5..' '..c6..' '..c7
elseif c6 ~= nil then s = s..' '..c1..' '..c2..' '..c3..' '..c4..' '..c5..' '..c6
elseif c5 ~= nil then s = s..' '..c1..' '..c2..' '..c3..' '..c4..' '..c5
elseif c4 ~= nil then s = s..' '..c1..' '..c2..' '..c3..' '..c4
elseif c3 ~= nil then s = s..' '..c1..' '..c2..' '..c3
elseif c2 ~= nil then s = s..' '..c1..' '..c2
elseif c1 ~= nil then s = s..' '..c1 end
frmReg.CEMemoResult4.Lines.Text = s
end
function FormClose(sender)
closeCE()
return caHide --Possible options: caHide, caFree, caMinimize, caNone
end
frmReg.Show()
</LuaScript>
</CheatTable>
|
Description: |
|
Filesize: |
23.51 KB |
Viewed: |
18989 Time(s) |

|
|
|
Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum
|
|