Efficient Forged Atomic Parallel

MergeQaiPro manual Hiding your own patterns (regex filter)
Contents

Hiding your own patterns (regex filter)

Two log files from the same run differ in every line — in the timestamp. Two exports of the same table differ in the sequence number. Such differences are real but uninteresting. The regex filter cuts them away before the comparison: lines that differ only in those parts then count as formatting only.

ℹ️ Usable without prior knowledge
Regular expressions are a technical language — but you do not need to know it here. The building-block kit offers ready-made blocks for everything common: date, time, timestamp, numbers, version numbers, GUIDs, IP and e-mail addresses, web addresses, Windows paths, comments and more. You click a block and fill in at most one field.

6.1 The window

A click on Regex filter… in the filter bar opens the regex filter window. It is divided into three areas:

AreaContent
BUILDING BLOCKSleft: the ready-made patterns, grouped by topic — time & date, numbers, identifiers, code, text & structure, own
MY RULESmiddle: the rules you chose — individually switchable, movable, removable
PREVIEW ON YOUR FILESright: what the rules do to your actual lines
Screenshot 11: Regex filter window with its three areas: building blocks on the left, “My rules” in the middle, preview on your own files on the right
Fig. 11 — Regex filter window with its three areas: building blocks on the left, “My rules” in the middle, preview on your own files on the right

6.2 Building a rule

  1. Click a block on the left, say Timestamp or Number. It appears under My rules straight away.
  2. Where needed, fill in the field beside it — for the Number block, for instance, “minimum digits”; for a line comment, the comment character.
  3. Check in the preview on the right whether the rule hits what you intended.
  4. Close with Apply — the comparison recalculates immediately.
Screenshot 12: A building block being selected and its parameter field filled in
Fig. 12 — A building block being selected and its parameter field filled in
ℹ️ The order matters
Rules act on the line one after another: what the first cuts away, the second no longer sees. Use the “Up” and “Down” arrows to reorder them. Each rule can also be switched on and off individually — handy for experimenting without deleting it.

6.3 The preview — the real trick

On the right stand your own differing line pairs as soon as a rule touches them: at the top both lines with the part that falls away marked — below that the verdict on whether they now count as equal (“✓ equal after filtering — this difference disappears”) or what else they hang on (“still differs at:”). A line above sums it up: “7 of 31 differences now count as formatting only.”

⚠️ When a rule takes away too much
A pattern drawn too widely can empty whole lines — everything would then count as equal and the comparison would be worthless. MergeQaiPro warns about this: “⚠ A rule matches practically every line and empties it — everything would count as equal.” It likewise points out when the rules do cut text away but change nothing about the result.

6.4 Templates and rule sets

For the usual kinds of file there are ready-made templates: Source code, Log file, CSV / export and XML / HTML. One click and the matching rules are in place.

Whatever you have put together yourself can be kept as a rule set: type a name, click Save — the message confirms “… saved — 6 rules”. Next time you pick the set from the list; “Last used” sits at the top. Delete removes a set again.

Screenshot 13: Template bar and rule set selection in the regex filter window
Fig. 13 — Template bar and rule set selection in the regex filter window

6.5 For the initiated: writing directly

Anyone fluent in regular expressions can switch to Edit directly and write them line by line — one expression per line. Switching back to the kit shows known patterns as blocks again, all others as “Own pattern”.

💡 Errors are explained in plain words
If an expression is invalid, MergeQaiPro states the reason in ordinary language rather than jargon — for instance “A round bracket ( was not closed.”, “The expression begins with * or + — what it refers to is missing.” or “The expression ends with a single \ — the character after it is missing.”
An unhandled error has occurred. Reload 🗙