HoangVuIT

Regex Color

Feb 13th, 2021
316
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Global $oDictionary = ObjCreate("Scripting.Dictionary")
  2. With $oDictionary
  3.         .Add("0", 1)
  4.         .Add("1", 2)
  5.         .Add("2", 3)
  6.         .Add("3", 4)
  7.         .Add("4", 5)
  8.         .Add("5", 6)
  9.         .Add("6", 7)
  10.         .Add("7", 8)
  11.         .Add("8", 9)
  12.         .Add("9", 10)
  13.         .Add("A", 11)
  14.         .Add("B", 12)
  15.         .Add("C", 13)
  16.         .Add("D", 14)
  17.         .Add("E", 15)
  18.         .Add("F", 16)
  19. EndWith
  20.  
  21.  
  22. $Base = _RandomARGB(1000000)
  23. $Find = _RandomARGB(10)
  24.  
  25. ConsoleWrite($Find & @CRLF)
  26.  
  27. $PatternRegex = _ExchangeRegex($Find)
  28.  
  29. ConsoleWrite($PatternRegex & @CRLF)
  30.  
  31.  
  32. $Result = StringRegExp($Base, $PatternRegex, 3)
  33. _ArrayDisplay($Result)
  34.  
  35.  
  36. Func _RandomARGB($Length)
  37.         Local Static $aARBG = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F"]
  38.         Local Static $MaxIndex = 15
  39.        
  40.         Local $Result = ""
  41.         For $i = 1 To $Length
  42.                 $Result &= $aARBG[Random(0, $MaxIndex, 1)]
  43.         Next
  44.        
  45.         Return $Result
  46.        
  47. EndFunc
  48.  
  49.  
  50.  
  51. Func _ExchangeRegex($String, $Tolarent = 2)
  52.         Local Static $aARBG = ["", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F", ""]
  53.         $Result = StringRegExpReplace($String, "([0123456789ABCDEF])", '["&$aARBG[$oDictionary.Item("$1") - 1] & $aARBG[$oDictionary.Item("$1")] & $aARBG[$oDictionary.Item("$1") + 1]&"]')
  54.        
  55.         Return Execute('"' & $Result & '"')
  56. EndFunc
  57.  
RAW Paste Data