613d4436de7641fae64433e042d501e586054960
All checks were successful
NTFY Notification / notify (push) Successful in 12s
Replace character-by-character parsing with regex-based implementation
for value mapping and OR condition merging.
Changes:
- Add ApplyRegexMapping() for regex-based value replacement
* Uses VBScript.RegExp with Late Binding
* Replaces from back to front to avoid position shifts
* Uses regex.Replace() method for precise matching
* Includes EscapeForRegex() to handle special characters
- Add ProcessNestedExpressions() for recursive parenthesis handling
- Add MergeDuplicateORConditions() for OR deduplication
- Add SimplifyParentheses() for smart parenthesis removal
- Remove ProcessAndSimplifyNested() (150+ lines of complex logic)
- Remove ProcessAndSegment(), ProcessAtom(), ParseAtom()
- Remove MergeDuplicateORs(), MaybeRemoveOuterParentheses()
- Remove JoinCollection(), MergeDuplicateAtoms()
Regex patterns used:
- azxs: (azxs)( *=|!= *)([a-zA-Z0-9]{2})
- lcfw: (lcfw)( *=|!= *)([a-zA-Z]\d{1,3})(?=[ \(\)]?)
Processing flow:
1. Apply azxs value mapping (regex)
2. Apply lcfw value mapping (regex)
3. Process nested expressions (recursive OR merge)
4. Merge top-level OR conditions
5. Simplify unnecessary parentheses
Benefits:
- Code reduced from 647 to 553 lines (-15%)
- Core logic simplified significantly
- Better performance: single regex pass vs multiple string traversals
- Improved readability and maintainability
- Precise replacement using regex.Replace() instead of string Replace()
- Preserved late binding and backward compatibility
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Description
No description provided
Languages
VBA
87.3%
Visual Basic 6.0
12.7%