If one thing ArmA is missing badly it is native RegEx functionality. Considering how fast and powerful RegEx could be, it is just screaming “FFS, BIS add me, nao”! Jokes aside, I tried my hand in C++ for the first time and made these 2 lightweight extensions for ArmA that utilise C++ native RegEx functions.

I wanted it to be fast, so there is no error check, if you pass illegal RegEx to the .dll it will crash ArmA. Not a big deal and to avoid this happening in the first place I have constructed two emulation tools so you can test that everything works before including it in .sqf. I will later add a documentation page where I will show examples of usage and what you can do when you have mighty power of RegEx under your finger tips.

Installation for ArmA 3

  • Download zip and unpack
  • Place @RegEx folder in you ArmA 3 root directory
  • Add -mod=@RegEx; to your ArmA 3 startup parameters
  • Add public key provided to the Keys folder

Testing setup

  • Start ArmA 3 and go to Editor
  • Place a unit and go to Preview
  • Press Esc and in debug console type for each .dll accordingly:
hint ("regex_match" callExtension "about"); hint ("regex_replace" callExtension "about");
  • If you see “v1.0 http://killzonekid.com” in a hint, you have installed .dll correctly
  • To check public key installation type  for each .dll accordingly:
hint str (verifySignature "@RegEx\regex_match.dll"); hint str (verifySignature "@RegEx\regex_replace.dll");
  • If you see “true” in a hint, you have installed public key correctly

Emulation Tools

KK's regex_match.dll Emulation Tool 
Input String Output String  
   

KK's regex_replace.dll Emulation Tool 
Input String Output String  
   

Enjoy,
KK

regex_match and regex_replace HOW TO

EDIT: You do not need to install both .dlls as a mod because there is no way at the moment to sign .dlls like you sign .pbos so it can be used in practical way. You can sign them but it will not be recognised in MP. You can just drop both .dlls in ArmA root folder.