KySoto

disgusting regex

May 30th, 2018
194
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Public Function Truncated(argPart As String) As String
  2. If argPart Like "cal*" Then
  3. Truncated = argPart
  4. ElseIf argPart Like "*_##.#[a-zA-Z][a-zA-Z]" Then
  5. Truncated = Trim(Left(argPart, Len(argPart) - 7))
  6. ElseIf argPart Like "*[a-zA-Z][a-zA-Z][a-zA-Z]_[a-zA-Z][a-zA-Z]_[a-zA-Z]" Then
  7. Truncated = Trim(Left(argPart, Len(argPart) - 8))
  8. ElseIf argPart Like "*_[a-zA-Z][a-zA-Z][a-zA-Z]_##[a-zA-Z]" Then
  9. Truncated = Trim(Left(argPart, Len(argPart) - 8))
  10. ElseIf argPart Like "*[a-zA-Z][a-zA-Z][a-zA-Z]_[a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z]" Then
  11. Truncated = Trim(Left(argPart, Len(argPart) - 8))
  12. ElseIf argPart Like "*[a-zA-Z][a-zA-Z][a-zA-Z]##[a-zA-Z][a-zA-Z]" Then
  13. Truncated = Trim(Left(argPart, Len(argPart) - 7))
  14. ElseIf argPart Like "*[a-zA-Z][a-zA-Z][a-zA-Z]##[a-zA-Z]" Then
  15. Truncated = Trim(Left(argPart, Len(argPart) - 6))
  16. ElseIf argPart Like "*_[a-zA-Z][a-zA-Z][a-zA-Z]_#[a-zA-Z]" Then
  17. Truncated = Trim(Left(argPart, Len(argPart) - 7))
  18. ElseIf argPart Like "*[a-zA-Z][a-zA-Z][a-zA-Z]_#[a-zA-Z]" Then
  19. Truncated = Trim(Left(argPart, Len(argPart) - 6))
  20. ElseIf argPart Like "*_[a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z]" Then
  21. Truncated = Trim(Left(argPart, Len(argPart) - 6))
  22. ElseIf argPart Like "*_#.#[a-zA-Z][a-zA-Z]" Then
  23. Truncated = Trim(Left(argPart, Len(argPart) - 6))
  24. ElseIf argPart Like "*_##[a-zA-Z][a-zA-Z]_[a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z]" Then
  25. Truncated = Trim(Left(argPart, Len(argPart) - 10))
  26. ElseIf argPart Like "*_##[a-zA-Z][a-zA-Z]_[a-zA-Z][a-zA-Z][a-zA-Z]" Then
  27. Truncated = Trim(Left(argPart, Len(argPart) - 9))
  28. ElseIf argPart Like "*_##[a-zA-Z][a-zA-Z]_[a-zA-Z]" Then
  29. Truncated = Trim(Left(argPart, Len(argPart) - 7))
  30. ElseIf argPart Like "*_##[a-zA-Z][a-zA-Z]_[a-zA-Z]" Then
  31. Truncated = Trim(Left(argPart, Len(argPart) - 7))
  32. ElseIf argPart Like "*_[a-zA-Z]_[a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z]" Then
  33. Truncated = Trim(Left(argPart, Len(argPart) - 7))
  34. ElseIf argPart Like "*_[a-zA-Z][a-zA-Z]_[a-zA-Z][a-zA-Z][a-zA-Z]" Then
  35. Truncated = Trim(Left(argPart, Len(argPart) - 7))
  36. ElseIf argPart Like "*_[a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z]" Then
  37. Truncated = Trim(Left(argPart, Len(argPart) - 5))
  38. ElseIf argPart Like "*_##[a-zA-Z][a-zA-Z]" Then
  39. Truncated = Trim(Left(argPart, Len(argPart) - 5))
  40. ElseIf argPart Like "*_###[a-zA-Z]" Then
  41. Truncated = Trim(Left(argPart, Len(argPart) - 5))
  42. ElseIf argPart Like "*_##[a-zA-Z]" Then
  43. Truncated = Trim(Left(argPart, Len(argPart) - 4))
  44. ElseIf argPart Like "*[a-zA-Z][a-zA-Z][a-zA-Z]_[a-zA-Z][a-zA-Z][a-zA-Z]" Then
  45. Truncated = Trim(Left(argPart, Len(argPart) - 7))
  46. ElseIf argPart Like "*[a-zA-Z][a-zA-Z][a-zA-Z]_[a-zA-Z][a-zA-Z]" Then
  47. Truncated = Trim(Left(argPart, Len(argPart) - 6))
  48. ElseIf argPart Like "*_[a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z]_[a-zA-Z]" Then
  49. Truncated = Trim(Left(argPart, Len(argPart) - 7))
  50. ElseIf argPart Like "*[a-zA-Z][a-zA-Z][a-zA-Z]_[a-zA-Z]" Then
  51. Truncated = Trim(Left(argPart, Len(argPart) - 5))
  52. ElseIf argPart Like "*[-][a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z]" Then
  53. Truncated = Trim(Left(argPart, Len(argPart) - 6))
  54. ElseIf argPart Like "*_[a-zA-Z][a-zA-Z][a-zA-Z]" Then
  55. Truncated = Trim(Left(argPart, Len(argPart) - 4))
  56. ElseIf argPart Like "*-[a-zA-Z][a-zA-Z][a-zA-Z]" Then
  57. Truncated = Trim(Left(argPart, Len(argPart) - 4))
  58. ElseIf argPart Like "*_[a-zA-Z][a-zA-Z]" Then
  59. Truncated = Trim(Left(argPart, Len(argPart) - 3))
  60. ElseIf argPart Like "*_[a-zA-Z][a-zA-Z]_[a-zA-Z]" Then
  61. Truncated = Trim(Left(argPart, Len(argPart) - 5))
  62. ElseIf argPart Like "*_[a-zA-Z]_[a-zA-Z]" Then
  63. Truncated = Trim(Left(argPart, Len(argPart) - 4))
  64. ElseIf argPart Like "*_[a-zA-Z]#" Then
  65. Truncated = Trim(Left(argPart, Len(argPart) - 3))
  66. ElseIf argPart Like "*_#" Then
  67. Truncated = Trim(Left(argPart, Len(argPart) - 2))
  68. ElseIf argPart Like "*_#[a-zA-Z]" Then
  69. Truncated = Trim(Left(argPart, Len(argPart) - 3))
  70. ElseIf argPart Like "*_[a-zA-Z]" Then
  71. Truncated = Trim(Left(argPart, Len(argPart) - 2))
  72. ElseIf argPart Like "*[a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z]" Then
  73. Truncated = Trim(Left(argPart, Len(argPart) - 9))
  74. ElseIf argPart Like "*[a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z]" Then
  75. Truncated = Trim(Left(argPart, Len(argPart) - 8))
  76. ElseIf argPart Like "*[a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z]" Then
  77. Truncated = Trim(Left(argPart, Len(argPart) - 7))
  78. ElseIf argPart Like "*[a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z]" Then
  79. Truncated = Trim(Left(argPart, Len(argPart) - 6))
  80. ElseIf argPart Like "*[a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z]" Then
  81. Truncated = Trim(Left(argPart, Len(argPart) - 5))
  82. ElseIf argPart Like "*[a-zA-Z][a-zA-Z][a-zA-Z]_[a-zA-Z][a-zA-Z]" Then
  83. Truncated = Trim(Left(argPart, Len(argPart) - 6))
  84. ElseIf argPart Like "*[a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z]" Then
  85. Truncated = Trim(Left(argPart, Len(argPart) - 4))
  86. ElseIf argPart Like "*[a-zA-Z][a-zA-Z][a-zA-Z]" Then
  87. Truncated = Trim(Left(argPart, Len(argPart) - 3))
  88. ElseIf argPart Like "*[jvs][a-zA-Z]" Then
  89. Truncated = Trim(Left(argPart, Len(argPart) - 2))
  90. ElseIf argPart Like "*[a-zA-Z][a-zA-Z]#" Then
  91. Truncated = Trim(Left(argPart, Len(argPart) - 3))
  92. Else
  93. Truncated = argPart
  94. End If
  95. End Function
  96.  
  97. Public Function GetTestType(argPart As String) As String
  98. If argPart Like "cal*" Then
  99. GetTestType = "No Type"
  100. ElseIf argPart Like "*_##.#[a-zA-Z][a-zA-Z]" Then
  101. GetTestType = Trim(Right(argPart, 7))
  102. ElseIf argPart Like "*[a-zA-Z][a-zA-Z][a-zA-Z]_[a-zA-Z][a-zA-Z]_[a-zA-Z]" Then
  103. GetTestType = Trim(Right(argPart, 8))
  104. ElseIf argPart Like "*_[a-zA-Z][a-zA-Z][a-zA-Z]_##[a-zA-Z]" Then
  105. GetTestType = Trim(Right(argPart, 8))
  106. ElseIf argPart Like "*[a-zA-Z][a-zA-Z][a-zA-Z]_[a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z]" Then
  107. GetTestType = Trim(Right(argPart, 8))
  108. ElseIf argPart Like "*[a-zA-Z][a-zA-Z][a-zA-Z]##[a-zA-Z][a-zA-Z]" Then
  109. GetTestType = Trim(Right(argPart, 7))
  110. ElseIf argPart Like "*[a-zA-Z][a-zA-Z][a-zA-Z]##[a-zA-Z]" Then
  111. GetTestType = Trim(Right(argPart, 6))
  112. ElseIf argPart Like "*_[a-zA-Z][a-zA-Z][a-zA-Z]_#[a-zA-Z]" Then
  113. GetTestType = Trim(Right(argPart, 7))
  114. ElseIf argPart Like "*[a-zA-Z][a-zA-Z][a-zA-Z]_#[a-zA-Z]" Then
  115. GetTestType = Trim(Right(argPart, 6))
  116. ElseIf argPart Like "*_[a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z]" Then
  117. GetTestType = Trim(Right(argPart, 6))
  118. ElseIf argPart Like "*_#.#[a-zA-Z][a-zA-Z]" Then
  119. GetTestType = Trim(Right(argPart, 6))
  120. ElseIf argPart Like "*_##[a-zA-Z][a-zA-Z]_[a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z]" Then
  121. GetTestType = Trim(Right(argPart, 10))
  122. ElseIf argPart Like "*_##[a-zA-Z][a-zA-Z]_[a-zA-Z][a-zA-Z][a-zA-Z]" Then
  123. GetTestType = Trim(Right(argPart, 9))
  124. ElseIf argPart Like "*_##[a-zA-Z][a-zA-Z]_[a-zA-Z]" Then
  125. GetTestType = Trim(Right(argPart, 7))
  126. ElseIf argPart Like "*_##[a-zA-Z][a-zA-Z]_[a-zA-Z]" Then
  127. GetTestType = Trim(Right(argPart, 7))
  128. ElseIf argPart Like "*_[a-zA-Z]_[a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z]" Then
  129. GetTestType = Trim(Right(argPart, 7))
  130. ElseIf argPart Like "*_[a-zA-Z][a-zA-Z]_[a-zA-Z][a-zA-Z][a-zA-Z]" Then
  131. GetTestType = Trim(Right(argPart, 7))
  132. ElseIf argPart Like "*_[a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z]" Then
  133. GetTestType = Trim(Right(argPart, 5))
  134. ElseIf argPart Like "*_##[a-zA-Z][a-zA-Z]" Then
  135. GetTestType = Trim(Right(argPart, 5))
  136. ElseIf argPart Like "*_###[a-zA-Z]" Then
  137. GetTestType = Trim(Right(argPart, 5))
  138. ElseIf argPart Like "*_##[a-zA-Z]" Then
  139. GetTestType = Trim(Right(argPart, 4))
  140. ElseIf argPart Like "*[a-zA-Z][a-zA-Z][a-zA-Z]_[a-zA-Z][a-zA-Z][a-zA-Z]" Then
  141. GetTestType = Trim(Right(argPart, 7))
  142. ElseIf argPart Like "*[a-zA-Z][a-zA-Z][a-zA-Z]_[a-zA-Z][a-zA-Z]" Then
  143. GetTestType = Trim(Right(argPart, 6))
  144. ElseIf argPart Like "*_[a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z]_[a-zA-Z]" Then
  145. GetTestType = Trim(Right(argPart, 7))
  146. ElseIf argPart Like "*[a-zA-Z][a-zA-Z][a-zA-Z]_[a-zA-Z]" Then
  147. GetTestType = Trim(Right(argPart, 5))
  148. ElseIf argPart Like "*_[a-zA-Z][a-zA-Z][a-zA-Z]" Then
  149. GetTestType = Trim(Right(argPart, 4))
  150. ElseIf argPart Like "*-[a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z]" Then
  151. GetTestType = Trim(Right(argPart, 5))
  152. ElseIf argPart Like "*-[a-zA-Z][a-zA-Z][a-zA-Z]" Then
  153. GetTestType = Trim(Right(argPart, 4))
  154. ElseIf argPart Like "*_[a-zA-Z][a-zA-Z]" Then
  155. GetTestType = Trim(Right(argPart, 3))
  156. ElseIf argPart Like "*_[a-zA-Z][a-zA-Z]_[a-zA-Z]" Then
  157. GetTestType = Trim(Right(argPart, 5))
  158. ElseIf argPart Like "*_[a-zA-Z]_[a-zA-Z]" Then
  159. GetTestType = Trim(Right(argPart, 4))
  160. ElseIf argPart Like "*_[a-zA-Z]#" Then
  161. GetTestType = Trim(Right(argPart, 3))
  162. ElseIf argPart Like "*_#" Then
  163. GetTestType = Trim(Right(argPart, 2))
  164. ElseIf argPart Like "*_#[a-zA-Z]" Then
  165. GetTestType = Trim(Right(argPart, 3))
  166. ElseIf argPart Like "*_[a-zA-Z]" Then
  167. GetTestType = Trim(Right(argPart, 2))
  168. ElseIf argPart Like "*[a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z]" Then
  169. GetTestType = Trim(Right(argPart, 9))
  170. ElseIf argPart Like "*[a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z]" Then
  171. GetTestType = Trim(Right(argPart, 8))
  172. ElseIf argPart Like "*[a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z]" Then
  173. GetTestType = Trim(Right(argPart, 7))
  174. ElseIf argPart Like "*[a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z]" Then
  175. GetTestType = Trim(Right(argPart, 6))
  176. ElseIf argPart Like "*[a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z]" Then
  177. GetTestType = Trim(Right(argPart, 5))
  178. ElseIf argPart Like "*[a-zA-Z][a-zA-Z][a-zA-Z]_[a-zA-Z][a-zA-Z]" Then
  179. GetTestType = Trim(Right(argPart, 6))
  180. ElseIf argPart Like "*[a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z]" Then
  181. GetTestType = Trim(Right(argPart, 4))
  182. ElseIf argPart Like "*[a-zA-Z][a-zA-Z][a-zA-Z]" Then
  183. GetTestType = Trim(Right(argPart, 3))
  184. ElseIf argPart Like "*[jvs][a-zA-Z]" Then
  185. GetTestType = Trim(Right(argPart, 2))
  186. ElseIf argPart Like "*[a-zA-Z][a-zA-Z]#" Then
  187. GetTestType = Trim(Right(argPart, 3))
  188. Else
  189. GetTestType = "No Type"
  190. End If
  191. End Function
Advertisement
Add Comment
Please, Sign In to add comment