From 2e7654d42988fcdbe3fb113bd266f16884861d05 Mon Sep 17 00:00:00 2001 From: Raymond Hill Date: Tue, 18 Dec 2018 13:37:01 -0500 Subject: [PATCH] Relax semantic of leading/trailing pipes in filter expressions in logger --- src/js/logger-ui.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/js/logger-ui.js b/src/js/logger-ui.js index 3c98275f5..009918e2b 100644 --- a/src/js/logger-ui.js +++ b/src/js/logger-ui.js @@ -1448,14 +1448,16 @@ const rowFilterer = (function() { if ( hardEnd ) { rawPart = rawPart.slice(0, -1); } - if ( rawPart === '' ) { continue; } // https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions reStr = rawPart.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); + // https://github.com/orgs/uBlockOrigin/teams/ublock-issues-volunteers/discussions/51 + // Be more flexible when interpreting leading/trailing pipes, + // as leading/trailing pipes are often used in static filters. if ( hardBeg ) { - reStr = '(?:^|\\s)' + reStr; + reStr = reStr !== '' ? '(?:^|\\s|\\|)' + reStr : '\\|'; } if ( hardEnd ) { - reStr += '(?:\\s|$)'; + reStr += '(?:\\||\\s|$)'; } } reStrs.push(reStr);